UITableview 编辑模式下左侧删除图标不出现
我有一个基于核心数据/ uitableview 的应用程序。实际上,到目前为止 80% 的代码与 Apple 示例应用程序 CoreDataRecipes 相同。我的问题是,当我进入编辑模式(通过按下编辑按钮)时,行的左侧没有“删除徽章”。保险杠。
代码与 CoreDataRecipes 的差异:
- 我有自定义 UITabelview 单元格 nib 文件而不仅仅是代码。
- 我的 Tableview 是我的类视图中的一个 Outlet。所以我的班级 RecipeListTableViewController 是一个 UIViewController 与 Tableview 委托而不是 UITableViewController
我尝试过的:
- Tableview 工作正常。 存在链接或委托问题
- 我检查过表是否确实 进入编辑模式。确实如此。你 可以看到,因为“添加”按钮 已禁用。
我检查了编辑风格是否正常。它应该是默认的,但为了确保我添加了:
(UITableViewCellEditingStyle)tableView:(UITableView*)tableVieweditingStyleForRowAtIndexPath(NSIndexPath*)indexPath {return UITableViewCellEditingStyleDelete;}
我检查了删除图标是否不在我的单元视图后面。没有。我现在认为向右移动的单元格行为是由 iOS 处理的。
- 当我滑动单元格时,会出现正确的删除按钮并正常工作,
- 我应该尝试使用layoutSubviews构建自己的行为。进入编辑模式后没有任何变化。但是当我滑动时,现在我看到我的子视图排成一行:
有人有什么想法吗?这一定是简单的事情。
I have a core data/ uitableview based app. Actually 80% of the code so far is equal to the Apple Sample app CoreDataRecipes. My problem is that when I enter the edit mode (by pushing the edit button), there are no "delete badges" on the left side of the rows. Bumper.
The differences in code with CoreDataRecipes:
- I have custom UITabelview cell with
a nib file instead of code only. - My Tableview is an Outlet inside my class view. So my class
RecipeListTableViewController is an
UIViewController with Tableview delegates instead of a UITableViewController
What I tried:
- The Tableview works fine. There are no linking or delegate issues
- I checked if the table actually
enters the edit mode. It does. You
can see that because the "Add" button
is disabled. I checked if the editingstyle is ok. It should be by default but to make sure I added:
(UITableViewCellEditingStyle)tableView:(UITableView*)tableVieweditingStyleForRowAtIndexPath(NSIndexPath*)indexPath {return UITableViewCellEditingStyleDelete;}
I checked if the delete icons where not behind my cellview. There are not. I now think that the cell behaviour of moving to the right is handled by iOS.
- When I swipe the cell, the right delete button appears and works as it should
- I tried to build the behaviour my self with a layoutSubviews. Nothing changed when entering the edit mode. But when I swipe, now I see my subview in one row:
Anyone any ideas? It must be something simple.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
确保
如果未设置为返回 YES,则不会启用徽章。默认设置为返回NO
Make sure that
If this is not set to return YES then the badges will not be enabled. The default is set to return NO
我认为你还没有添加该行
单击“编辑”按钮时
tableView.editing=YES
尝试设置它!
I think you have not added the line
tableView.editing=YES
on clicking the Edit buttonTry by setting it!
由于您的是 UIViewController,因此 tableview 不会收到 setEditing 调用。只需添加:
Since yours is a UIViewController, the tableview doesnt get the setEditing call. Just add:
确保您已设置出口/委托/数据源
然后是这些:
Make sure you have setup the outlet/ delegate/ datasource
then these: