2012-11-01 60 views
0

我有一个UITableViewCell与textfileds,只要单元不再可见屏幕上我需要关闭键盘。是否有一个简单的方法来通知当一个单元格从tableView中删除(不再可见)?iOS - 从superView中删除UITableViewCell?

我在我的Cell类中尝试了以下操作,但没有被调用。

- (void)removedFromSuperView 
{ 

} 

回答

0

单元格被重用。当一个单元格在屏幕的一端滚动时,它会在另一端重新使用。

为什么当行离开屏幕时需要关闭键盘?如果用户将行快速滚动回屏幕会怎么样?如果你提供更多关于你在做什么的细节,有人可以提供更具体的解决方案。

+0

细胞被重用,这也正是为什么我不想让键盘保持可见,除非该小区是可见的。如果用户开始编辑indexPath [0,1],并且单元格(textfiled和文本输入)正在被indexpath [0,20]处的项目重新使用,那么我所做的更改将应用​​于[0 ,20],而不是[0,1] – aryaxt

+0

只有在错误的情况下才会这样。我有一个应用程序与表格充满文本字段。如果用户正在输入一个,并将其从屏幕上滚出,它仍然可以正常工作。如果用户将该行重新滚动到视图中,则全部仍然存在。让用户决定何时完成。但有一种选择是使用'UITableViewCell'的'prepareForReuse'方法。 – rmaddy

0

Maddy是对的。您需要重用你的细胞,而我认为这是解决你的问题的解决方案:

    在TableViewDelegate
  1. ,调用一个方法,在这个方法来更新你的内容
  2. ,检查texfield“isFirstResponder”
  3. 如果这是真的,叫“resignFirstResponder”在你的文本框