如何检测用户何时刷过可编辑的UITableViewCell?

时间:2011-09-01 19:27:55

标签: iphone objective-c cocoa-touch uitableview

我有一个可编辑的UITableView。默认情况下,用户可以滑动,并显示“删除”按钮。当发生这种情况时,我想在我的UITableView单元格上隐藏一些元素。我怎么能这样做?

5 个答案:

答案 0 :(得分:4)

哦来吧:

  

的tableView:willBeginEditingRowAtIndexPath:

     

...

     

<强>讨论

     

当用户在行中水平滑动时调用此方法;   因此,表视图将其编辑属性设置为YES   (从而进入编辑模式)并在中显示删除按钮   由indexPath标识的行。在此“滑动删除”模式下   表视图不显示任何插入,删除和重新排序   控制。这种方法为代表提供了调整的方法   应用程序的用户界面到编辑模式。当表退出时   编辑模式(例如,用户点击删除按钮),表格   查看来电tableView:didEndEditingRowAtIndexPath:

Reference

然后为你自己的观点抛出一些[[cell viewWithTag:<#View's tag number#>] setHidden:YES]

答案 1 :(得分:2)

尝试覆盖自定义UITableViewCell中的willTransitionToState方法。特别是你会对UITableViewCellStateShowingDeleteConfirmationMask状态感兴趣。

答案 2 :(得分:1)

您无法修改– tableView:willBeginEditingRowAtIndexPath:被调用的相关元素吗?

答案 3 :(得分:0)

一旦用户想要在tableView中编辑某些内容,就会调用此方法

- (void)setEditing:(BOOL)editing animated:(BOOL)animated {

if(editing){
     // Entered Edit mode

     // Show the new tableView and reload it.
} 

else {
    // End of edit mode

    // Bring back the tableview and again reload it. 
}


[super setEditing:editing animated:animated];

}

答案 4 :(得分:0)

tableView:willBeginEditingRowAtIndexPath:中更新您的用户界面,在tableView:didEndEditingRowAtIndexPath:中恢复。