案例:
需要做一个UITableView,其包含两个section,其中一个section中的cell是UITableViewCell类对象,另一个section中的cell是自定义的Cell类对象,自定义的Cell是一个表单,里面包含有多个UITextField。
遇到的问题:
当我点击的UITextField,系统弹出键盘的时候,所有的UITextField控件都被弹出的键盘挡住了。
解决思路:
在点击了UITextField控件,弹出键盘的时候,把整个tableView向上移动一段距离,等结束输入之后,就把整个tableView移动回来
步骤:
1.捕获点中UITextField控件的事件
因为我的控件是在自定义的UITableViewCell中的,所以,我在自定义的UITableViewCell字类,假设是ACell中定义了一个方法-(IBAction)beginEditting:(id)sender,用于相应点中UITextField控件事件,因为点中UITextField事件会发出EditingDidBegin事件,所以根据这个事件连接上上述定义的方法,那么在点中UITextField控件的时候,就会自动调用上述的方法。
2.移动tableView
这时问题是,在方法中,我们怎么能控制到tableView移动呢?因为当前代码是在自定义类中编写的,无法直接调用到tableView对象。我们可以通过获取上级View的办法来获取到包含这个自定义cell的TableView,也就时superView,一