一、IQKeyboardManager遇见的问题:键盘回收时,tableView的headerView被遮挡。
解决两种方式:
方式一:
[self.tableView scrollRectToVisible:CGRectMake(0, 0, 1, 1) animated:YES];
方式二:
[self.tableView setContentOffset:CGPointMake(0, 0) animated:YES];
当键盘回收后,tableView的headerView被挡道: 当键盘回收后,tableView的headerView被挡道:
正常情况下界面显示图如下: 正常情况下界面显示图如下:
二、IQKeyboardManager导致view上移,被导航栏遮挡。
具体原因没有查找到。
解决方式一:监听键盘将要消失的通知,在selector方法内修改containView的frame。
解决方式二:viewDidLayoutSubviews 方法中修改view的frame
- (void)viewDidLayoutSubviews {
if (CGRectGetMinY(self.view.frame) != SafeAreaTopHeight) {
self.view.frame = CGRectMake(0, SafeAreaTopHeight, WindowWidth, WindowHeight - SafeAreaTopHeight);
}
debugLog(@"view_frame = %@",NSStringFromCGRect(self.view.frame));
}