我有一个可编辑的UITableView。默认情况下,用户可以滑动,并显示“删除”按钮。当发生这种情况时,我想在我的UITableView单元格上隐藏一些元素。我怎么能这样做?
答案 0 :(得分:4)
哦来吧:
的tableView:willBeginEditingRowAtIndexPath:
...
<强>讨论强>
当用户在行中水平滑动时调用此方法; 因此,表视图将其编辑属性设置为YES (从而进入编辑模式)并在中显示删除按钮 由
indexPath
标识的行。在此“滑动删除”模式下 表视图不显示任何插入,删除和重新排序 控制。这种方法为代表提供了调整的方法 应用程序的用户界面到编辑模式。当表退出时 编辑模式(例如,用户点击删除按钮),表格 查看来电tableView:didEndEditingRowAtIndexPath:
。
然后为你自己的观点抛出一些[[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:
中恢复。