将 editButtonItem 连接到 UITableView
Posted
技术标签:
【中文标题】将 editButtonItem 连接到 UITableView【英文标题】:Connecting an editButtonItem to a UITableView 【发布时间】:2012-10-15 15:08:27 【问题描述】:我有一个UIViewController
,它在其视图中添加了一个UITableView
和一个UIToolbar
。不幸的是,在这种情况下我不能使用UITableViewController
。
我已将视图控制器的editButtonItem
添加到工具栏中。我需要在UITableViewController
上复制编辑按钮的默认行为 - 编辑按钮应该绑定到 tableView 并将其切换到/退出编辑模式。
我已经覆盖了UIViewController
的setEditing
以包含以下行:
[_tableView setEditing:editing animated:animated];
这在大多数情况下都有效 - 当使用 editButtonItem
时,表格视图成功进入和退出编辑模式。
但是,至少存在一个问题。在UITableViewController
上,当用户滑过表格中的一行时,编辑按钮会切换到“完成”。 “完成”然后将该行返回到它的非编辑版本。此外,在行外触摸会将其返回到查看模式,并将编辑按钮恢复为“完成”。
我的问题:
-
如何复制此行为,以便在单个行进入/退出编辑模式时更改“编辑”按钮的状态?
我可能需要复制
UITableViewController
的editButtonItem
的其他哪些行为?
【问题讨论】:
在这篇文章中,你所说的 UIView,你的意思是 UIViewController。大不同。 是的,在某些地方 - 谢谢,我已经更新了。 tableview 和 toolbar 是视图控制器视图的子视图,但 editButtonItem 肯定属于控制器。请随时编辑问题。 【参考方案1】:我自己的应用中有这样的案例。我实现了以下表格视图委托方法:
- (void)tableView:(UITableView *)tableView willBeginEditingRowAtIndexPath:(NSIndexPath *)indexPath
[self setEditing:YES animated:YES];
- (void)tableView:(UITableView *)tableView didEndEditingRowAtIndexPath:(NSIndexPath *)indexPath
[self setEditing:NO animated:YES];
【讨论】:
以上是关于将 editButtonItem 连接到 UITableView的主要内容,如果未能解决你的问题,请参考以下文章
我无法将 TableViewCell 按钮连接到 TableViewController!如何将 TableViewCell 中的值连接到 TableViewController?
“无法连接到远程 VM”将 jdb 连接到 Windows 上的 android 模拟器
将 Auth0 连接到我的后端后,如何将其连接到我的 NextJS 前端?
将 nesjs 应用程序连接到 SQL Server Express 时出错:无法连接到 localhost:1433 - 自签名证书