是否可以通过在特定情况下添加UITableView
方法来使commitEditingStyle
可编辑?
我有一个controller.m / .h文件正在为3个不同的故事板viewcontrollers做一些事情。我只希望3中的2个能够commitEditingStyle。我可以使用self.restorationIdentifier
来区分它们。
答案 0 :(得分:4)
你可以检查tableview标签..
-(UITableViewCellEditingStyle)tableView:(UITableView *)tableView editingStyleForRowAtIndexPath:(NSIndexPath *)indexPath
{
if(tableview.tag==1 || tableview.tag==2)
return UITableViewCellEditingStyleDelete;
return UITableViewCellEditingStyleNone;
}
- (void)tableView:(UITableView *)tableView commitEditingStyle:(UITableViewCellEditingStyle)editingStyle forRowAtIndexPath:(NSIndexPath *)indexPath
{
if (editingStyle == UITableViewCellEditingStyleDelete) {
//here your code
}
}
答案 1 :(得分:1)
public override UITableViewCellEditingStyle EditingStyleForRow(UITableView tableView, NSIndexPath indexPath)
{
//here we show and hide the delete for particular row
if (indexPath.Row ==1)
{
return UITableViewCellEditingStyle.Delete;
}
else {
return UITableViewCellEditingStyle.None;
}
}
public override void CommitEditingStyle(UITableView tableView, UITableViewCellEditingStyle editingStyle, NSIndexPath indexPath)
{
if (editingStyle == UITableViewCellEditingStyle.Delete)
{
//here we handle delete button action of the tableview
}
}
答案 2 :(得分:0)
好吧,似乎我只是在子类上继承并添加commitEditingStyle
。然后将故事板中的类更改为子类,这就是全部。