Ios 自定义UITableView编辑模式

Ios 自定义UITableView编辑模式,ios,uitableview,xamarin,editmode,Ios,Uitableview,Xamarin,Editmode,我有一个自定义单元格的UITableView,我想创建一个类似于iOS邮件应用程序的编辑模式 我的观点是这样的: 当我点击右上角的“编辑”时,它会更改为: 右边的那些猫是纽扣。问题是,当我点击它们时,内部润色或任何其他事件都不会被触发 每个单元格都将UITableViewCellEditingStyle设置为“无”,因此我没有标准的加号和减号图标。相反,在我的自定义表格单元格视图中,我放置了一个UIButton(cat)“在视图之外”(X=-33),以便在表格视图进入编辑模式时显示它 当我试

我有一个自定义单元格的UITableView,我想创建一个类似于iOS邮件应用程序的编辑模式

我的观点是这样的:

当我点击右上角的“编辑”时,它会更改为:

右边的那些猫是纽扣。问题是,当我点击它们时,内部润色或任何其他事件都不会被触发

每个单元格都将UITableViewCellEditingStyle设置为“无”,因此我没有标准的加号和减号图标。相反,在我的自定义表格单元格视图中,我放置了一个UIButton(cat)“在视图之外”(X=-33),以便在表格视图进入编辑模式时显示它

当我试着轻触猫时,不会触发“内部修补”,另一方面,右边的“展开”按钮一直工作正常

有什么想法吗?任何帮助都将不胜感激。

将您的“cat”按钮设置为-33,使其脱离单元格的内容视图。在这种情况下,按钮是可见的,但它不会检测到任何触摸或进行任何用户交互。如果执行此操作,则可以使用UITableView委托方法:

-(void)tableView:(UITableView*)tableView willBeginEditingRowAtIndexPath:(NSIndexPath*)indexPath
{
 // add your "cat" button here
}

-(void)tableView:(UITableView*)tableView didEndEditingRowAtIndexPath:(NSIndexPath*)indexPath
{
 // remove your "cat" button here
}

如果您是以编程方式创建按钮,我希望您记得在按钮上调用addTarget:。在uitableview上设置编辑moge时,似乎不会调用这些方法。您可以覆盖编辑模式的UITableViewCell方法-(void)setEditingAccessoryType;(UITableViewCellAccessoryType)编辑AccessoryType或-(void)设置编辑AccessoryView:(UIView*)编辑AccessoryView