我有一个带有许多单元格的UITableViewController,每个单元格包含四个相互垂直的文本字段,通过点击任何文本字段显示弹出窗口,但是,当点击键盘时,此弹出窗口包含一个文本字段,很可能是弹出将向上移动,以防止键盘隐藏其文本字段(这是弹出窗口的默认行为),但在后台(灰色视图),tableViewController失去其正确的滚动行为,以保持弹出显示键盘可见时轨道上的-textField ..
一个示例项目can be downloaded here.
在这种情况下,如何在键盘可见的情况下,如何偏移表视图以使弹出文件显示在屏幕上?
我尝试了着名的TPKeyboardAvoiding库,但它没有解决问题.
附: tableViewController适用于前3或4次键盘激活,但在以后的尝试中会丢失精确的滚动.
屏幕截图(绿色文本字段是显示弹出窗口的文本字段,但tableViewController滚动到红色表示的错误文本字段):
任何帮助将受到高度赞赏.
编辑:
这个问题不重复:Making a UITableView scroll when text field is selected
因为我需要滚动到的表视图的文本字段是触发弹出而不是键盘的文本字段,而scrollToRowAtIndexPath在这种情况下不能正常工作,因为每个单元格包含4个文本字段.
解决方法
使用(CGRect)convertRect:(CGRect)rect toView:(UIView *)视图获取tableviews superview上的单元格位置并相应地处理tableview偏移量