在单元格编辑中检测单元格单击,显示重新排序控件+公开控件作为Safari书签编辑

时间:2015-11-28 12:26:11

标签: ios objective-c uitableview

我正在尝试重现iOS Safari中编辑书签的行为,如下所示:

enter image description here

我设法重现了外观,但在显示重新排序控制和公开编辑附件类型设置时,我正在努力检测编辑模式中的单元格点击:

 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;
}

1 个答案:

答案 0 :(得分:1)

您需要将allowsSelectionDuringEditin g设置为YES

来自文档:

  

一个布尔值,用于确定用户是否可以选择单元格   表格视图处于编辑模式。

如果此属性的值为YES,则用户可以在编辑期间选择行。默认值为NO。如果要限制单元格的选择,无论模式如何,请使用allowSelection。

相关问题