iOS IQKeyboardManager 遇见的bug

一、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被挡道:

iOS IQKeyboardManager 遇见的bug_第1张图片
被遮挡

  正常情况下界面显示图如下:  正常情况下界面显示图如下:

iOS IQKeyboardManager 遇见的bug_第2张图片
正常显示

二、IQKeyboardManager导致view上移,被导航栏遮挡。

具体原因没有查找到。

解决方式一:监听键盘将要消失的通知,在selector方法内修改containView的frame。

iOS IQKeyboardManager 遇见的bug_第3张图片
修改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));

}

你可能感兴趣的:(iOS IQKeyboardManager 遇见的bug)