UITableview 编辑模式时不出现左删除图标

Posted

技术标签:

【中文标题】UITableview 编辑模式时不出现左删除图标【英文标题】:Left delete icons not appearing while UITableview edit mode 【发布时间】:2011-01-12 08:09:19 【问题描述】:

我有一个基于核心数据/uitableview 的应用程序。实际上,到目前为止 80% 的代码与 Apple 示例应用程序 CoreDataRecipes 相同。我的问题是,当我进入编辑模式(通过按下编辑按钮)时,行的左侧没有“删除徽章”。保险杠。

与CoreDataRecipes的代码差异:

    我有自定义的 UITabelview 单元格 一个 nib 文件,而不仅仅是代码。 我的 Tableview 是我班级视图中的一个 Outlet。所以我的课 RecipeListTableViewController 是一个 UIViewController 使用 Tableview 代表而不是 UITableViewController

我尝试了什么:

Tableview 工作正常。没有链接或委托问题 我检查了表是否真的 进入编辑模式。确实如此。你 可以看到,因为“添加”按钮 已禁用。

我检查了编辑风格是否正常。它应该是默认的,但要确保我添加了:

(UITableViewCellEditingStyle)tableView:(UITableView*)tableVieweditingStyleForRowAtIndexPath(NSIndexPath*)indexPath return UITableViewCellEditingStyleDelete;

我检查了删除图标是否不在我的单元格视图后面。没有。我现在认为向右移动的单元格行为是由ios处理的。

当我滑动单元格时,右侧的删除按钮会出现并正常工作 我尝试使用 layoutSubviews 构建我自己的行为。进入编辑模式时没有任何变化。但是当我滑动时,现在我会在一行中看到我的子视图:

有人有什么想法吗?一定很简单。

【问题讨论】:

【参考方案1】:

确保

- (BOOL)tableView:(UITableView *)tableView canEditRowAtIndexPath:(NSIndexPath *)indexPath


    return YES;

如果未设置为返回 YES,则不会启用徽章。默认设置为返回NO

【讨论】:

这在swift中默认为true【参考方案2】:

我认为您没有添加该行 tableView.editing=YES 点击编辑按钮

通过设置试试!

【讨论】:

应用程序崩溃:由于未捕获的异常“NSInternalInconsistencyException”而终止应用程序,原因:“+entityForName: 找不到实体名称的 NSManagedObjectModel ... 但我认为这已经适用于编辑按钮。我使用 self.navigationItem.leftBarButtonItem = self.editButtonItem; 嘿伙计..你偏离了轨道..你发布的问题与 Coredata 没有任何关系。【参考方案3】:

由于你的是 UIViewController,tableview 没有得到 setEditing 调用。只需添加:

- (void)setEditing:(BOOL)editing animated:(BOOL)animated 
    [super setEditing:editing animated:animated];
    [self.tv setEditing:editing animated:YES];

【讨论】:

【参考方案4】:

确保您已设置出口/委托/数据源 然后这些:

-(void)editButtonTapped

    [self.tableView setEditing:YES animated:YES];




-(BOOL)tableView:(UITableView *)tableView canEditRowAtIndexPath:(NSIndexPath *)indexPath

    return YES;


-(UITableViewCellEditingStyle)tableView:(UITableView *)tableView editingStyleForRowAtIndexPath:(NSIndexPath *)indexPath

    return UITableViewCellEditingStyleDelete;

【讨论】:

以上是关于UITableview 编辑模式时不出现左删除图标的主要内容,如果未能解决你的问题,请参考以下文章

Swift:UITableView - 滑动删除 - 如何让单元格内容在滑动时不移动

iOS8中出现UITableViewCell编辑模式左圆圈

在 UITableView 编辑模式下更改删除按钮标题 [重复]

滑动删除 UITableViewCell 时,偶尔会出现红色减号删除图标

如何为uitableview自定义多选编辑模式

编辑自定义 UITableViewCell 时不出现插入/删除编辑控件