https://github.com/michaeltyson/TPKeyboardAvoiding
这是一个很常用的,不用写一句代码就可以为有输入框的 scrollView 和 tableView 自动处理键盘弹出遮挡的问题。
今天收到一个奇怪的bug,因为之前 tableView 一直也没有超出屏幕,所以发现不了,超出屏幕之后,当键盘弹出来,再缩回去时,会调N次 setContentInset ,并且有其中一次会给 contentInset 的 bottom 一个负值,导致无法上拉看到下面的内容。iOS7和之前版本是正常的。
debug了好久才找出来,解决方法在 TPKeyboardAvoidingTableView.m
加个判断即可:
-(void)setContentInset:(UIEdgeInsets)contentInset {
if(contentInset.bottom < 0)return;
[super setContentInset:contentInset];
}
去作者的github,发觉万年没人管,就找个可以搜到的地方写出来留意坑。
1
icodesign 2015-01-05 10:22:47 +08:00
IQKeyboardManager 用的比较多
|