当cell里面有textfield或者textview的时候,相信很多人都会遇到键盘弹起的时候,输入框就被遮挡了的情况吧。
本人也是其中一位。之前可以使用监听键盘弹起的高度来判断,后来逛论坛的时候发现一个更好、更简便的方法。就是下面的code
- (UITableView *)tableView {
if (!_tableView) {
UITableViewController* tvc=[[UITableViewController alloc] initWithStyle:UITableViewStylePlain];
[self addChildViewController:tvc];
[tvc.view setFrame:self.view.frame];
_tableView=tvc.tableView;
_tableView.delegate = self;
_tableView.dataSource = self;
_tableView.separatorStyle = UITableViewCellSeparatorStyleSingleLine;
}
return _tableView;
}
其原理就是使用UITableViewController来代替UITableView,UITableViewController中的tableview以及做了可以自适应键盘高度来改变tableview的额外高度。
原来UITableViewControlle已经为我们想好了。