我正在尝试重现iOS Safari中编辑书签的行为,如下所示:
我设法重现了外观,但在显示重新排序控制和公开编辑附件类型设置时,我正在努力检测编辑模式中的单元格点击:
cell.editingAccessoryType = UITableViewCellAccessoryDisclosureIndicator;
基本上只有重新排序和删除控件似乎是活动的,但委托方法
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
永远不会被召唤,这是如何实现的呢?
请注意我使用的是UITableViewController,我也实现了:
- (BOOL)tableView:(UITableView *)tableView canMoveRowAtIndexPath:(NSIndexPath *)indexPath
{
// avoid moving "add new" row
if (indexPath.row > 0) {
return YES;
}
return NO;
}
- (BOOL)tableView:(UITableView *)tableView canEditRowAtIndexPath:(NSIndexPath *)indexPath {
return YES;
}
- (UITableViewCellEditingStyle)tableView:(UITableView *)tableView editingStyleForRowAtIndexPath:(NSIndexPath *)indexPath
{
return indexPath.row > 0 ? UITableViewCellEditingStyleDelete : UITableViewCellEditingStyleInsert;
}
答案 0 :(得分:1)
您需要将allowsSelectionDuringEditin
g设置为YES
。
来自文档:
一个布尔值,用于确定用户是否可以选择单元格 表格视图处于编辑模式。
如果此属性的值为YES,则用户可以在编辑期间选择行。默认值为NO。如果要限制单元格的选择,无论模式如何,请使用allowSelection。