|
1
47
此解决方案基于ComSubfie的解决方案。 优势:
局限性:
用法:
在项目中包括kbkeyboardhandler.h、kbkeyboardhandler.m和kbkeyboardhandlerDelegate.h。实施
键盘处理程序.h :
键盘处理程序.m :
kbkeyboardhandler委派.h :
样品 我的视图控制器.h :
样品 我的视图控制器.m :
更新:修正了iOS 7警告,谢谢@weienv。 |
|
|
2
30
我刚刚解决了这个问题。解决方案是
您需要三个附加变量,一个用于存储当前选定的uitextfield(我已将其命名为activefield),一个用于指示当前视图是否已移动,另一个用于指示是否显示键盘。
这就是两个
加载视图时,将创建以下两个观察者:
相应的方法如下:
此代码现在按预期工作。只有在按下“完成”按钮时,键盘才会关闭,否则它将保持可见,并且视图不会移动。
作为附加说明,我认为有可能
|
|
|
3
2
此视图控制器必须
|
|
|
4
0
|
|
|
5
0
|
|
|
6
0
相当简单的解决方案,适用于所有屏幕尺寸首先,必须将UIExtFields嵌入到UIScrollView中。在我的例子中,我有几个uitextfields和一个uitextview。
然后您必须从UItextfieldDelegate、UItextViewDelegate继承。
将textfield和textview的委托分配给self。
然后使用此代码:
简而言之,您订阅uikeyboarddidshow通知。 当你点击textfield或textview时,键盘就会显示出来,你抓取键盘的框架和你点击的输入元素的框架。将它们转换为ViewController的坐标系,并将输入元素的最低点与键盘的最高点进行比较。如果元素的下半部分低于键盘的最高部分,则设置ContainerScrollView的偏移量,使其与键盘的不同。
|
|
|
user2606782 · 限制子视图在superview边界内的移动 8 年前 |