原文地址:http://blog.csdn.net/u011817865/article/details/10308905
在使用UITableView當中,避免不了使用輸入框,如何解決彈出鍵盤輸入框被遮擋的問題呢?解決辦法如下:
情況一、你的UIViewController繼承UITableViewController,這樣系統會自動處理鍵盤遮擋的問題。
情況二、我的ViewController不是繼承UITableViewController,但我又需要使用UITableView,這怎麼辦?搜了很多都是監聽鍵盤彈出,計算視圖位移的辦法。這處理起來太麻煩了!!!
解決辦法其實也很簡單,代碼如下:
-(UITableView *)tableView{
if (_tableView == nil) {
UITableViewController *tvc = [[UITableViewController alloc] initWithStyle:UITableViewStylePlain];
self.tableView = tvc.tableView;
self.tableView.delegate =self;
self.tableView.dataSource = self;
[self.view addSubview:self.tableView];
[self addChildViewController:tvc];
}
return _tableView;
}
ios5以上支持。
最關鍵的是最後一句,若沒有這句代碼自動處理遮擋將失效。
補充說明:uitextfield如果放在非Cell上,例如header,footer是不起作用的。