最近在用tableview时碰到了两个问题,在网上搜罗了一番之后解决了,在这里晒出来分享下,也方便之后自己找
第一个:在用UItableview时,当cell上有UITextFiled的控件时,弹出键盘之后将UITextFiled遮住的时候会非常影响体验,在网上有不少方法,但个人感觉有些挺麻烦,之后看到了一个比较简便的方法,当时看评论有不少说方法不能用,不过个人测试之后发现是可行的,这里晒出来分享下
//处理键盘遮挡问题
UITableViewController *tvc = [[UITableViewController alloc] initWithStyle:UITableViewStylePlain];
[self addChildViewController: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了,不是这种情况了