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,发觉万年没人管,就找个可以搜到的地方写出来留意坑。
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.