UItableView时键盘遮挡 iOS11下刷新滚动

来源:互联网 发布:网络延迟100多 编辑:程序博客网 时间:2024/06/05 12:41

最近在用tableview时碰到了两个问题,在网上搜罗了一番之后解决了,在这里晒出来分享下,也方便之后自己找

第一个:在用UItableview时,当cell上有UITextFiled的控件时,弹出键盘之后将UITextFiled遮住的时候会非常影响体验,在网上有不少方法,但个人感觉有些挺麻烦,之后看到了一个比较简便的方法,当时看评论有不少说方法不能用,不过个人测试之后发现是可行的,这里晒出来分享下

        //处理键盘遮挡问题

        UITableViewController *tvc = [[UITableViewControlleralloc] initWithStyle:UITableViewStylePlain];

       [selfaddChildViewController:tvc];

        _tableView = tvc.tableView;

        //将设置frame的放到上面代码的前面,tableview会无法滑到最底部

        CGRect tmpFrame = CGRectMake(10,10,self.rightView.frame.size.width - 20,self.rightView.frame.size.height - 20);

        _tableView.frame = tmpFrame;


第二个:在iOS11(仅限IOS11)的环境下,在调用reloadDate函数的时候,tableView会滑来滑去的,效果非常槽糕

        //解决在iOS11上不知到什么情况的滚动

        _tableView.estimatedRowHeight =0;

        _tableView.estimatedSectionHeaderHeight =0;

        _tableView.estimatedSectionFooterHeight =0;

最后发现在添加上面的代码之后就解决问题了,具体什么原理还搞不太清楚,不过这仅限于iOS11的环境下,如果其它iOS的环境下就应该是bug了,不是这种情况了