Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

回弹的高度不是键盘的高度而是使用了适应控件的原始坐标 #11

Open
NeilChan opened this issue Dec 28, 2016 · 7 comments

Comments

@NeilChan
Copy link

issue description

situation:

我想实现类似于微信一类的输入框,键盘粘着输入控件,控件的大小随着输入的文字增加而增加。

issue:

似乎回弹的高度不是键盘的高度而是使用了适应控件的原始坐标。另外的建议是,MARGIN_KEYBOARD_DEFAULT只作为默认边距参数,暴露一个可以修改边距的属性?

@liuzhiyi1992
Copy link
Owner

@NeilChan 意思是输入控件回弹后位置不正确吗?按道理是按键盘高度和MARGIN_KEYBOARD_DEFAULT间隙来做回弹。

@liuzhiyi1992
Copy link
Owner

liuzhiyi1992 commented Dec 28, 2016

@NeilChan keyboardTopMarigin属性已开放 pod出了问题,明天再更新

@NeilChan
Copy link
Author

NeilChan commented Dec 28, 2016

@liuzhiyi1992 是的。因为我把输入控件封装成一个单独的控制器,容器跟textView的高度会随着文字变多增高,resignFirstResponder按理应该只是收回键盘,但是出现了图中的样子,容器frame被复原,而子控件则不变。用IQKeyboardManager则没有此类情况。暂时还没有调试,过两天忙完我也可以试着调试看看

@liuzhiyi1992
Copy link
Owner

@NeilChan 我猜测到原因了,界面变形避开键盘遮挡和界面恢复,KeyboardUtils是去寻找adaptive响应链中最靠近的一个controller去操作的,估计是拿到你所封装的controller了。
使用- adaptiveViewHandleWithController:adaptiveView: ... 这个api自己指定页面controller应该就不会有问题

@NeilChan
Copy link
Author

NeilChan commented Jan 3, 2017

@liuzhiyi1992 thx. 那这样每个用到的控制器界面都需要实现一次。

@liuzhiyi1992
Copy link
Owner

@NeilChan 实现什么?持有KeyboardUtils吗?

@NeilChan
Copy link
Author

@liuzhiyi1992 指定controller就没有问题了。我之前看IQKeyboard的时候作者说把视图加在windows上是不合适的,但是现实的确有不少是类似弹出文本框一类的东西,能不能说只拿到根视图即可自动反应键盘展开收起事件而不用用到控制器的?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants