【发布时间】:2012-10-01 16:03:34
【问题描述】:
我在应用的导航栏中添加了一个编辑按钮。
我有一个实现 UITableViewDataSource 和 UITableViewDelegate 的 UIViewController。
我使用情节提要添加了 UITableView,并与数据源和委托建立了连接。
我在视图控制器的实现文件中这样做了:
self.navigationItem.rightBarButtonItem = self.editButtonItem;
[self.editButtonItem setAction:@selector(setEditing:animated:)];
和
- (void)setEditing:(BOOL)editing animated:(BOOL)animated
{
DLog(@"Editing = %d", editing)
NSLog(editing ? @"Yes" : @"No");
[self.recentSearchList setEditing:editing animated:YES];
}
问题是每当我点击编辑按钮时,布尔变量“编辑”总是“是”。首先,它将 UITableView 设置为编辑模式,但编辑按钮仍显示“编辑”标签而不是“完成”。而且由于参数始终为 YES,表格视图永远不会设置为普通模式。
我在这里阅读了一个答案:UITableView in edit mode - 'Edit' button doesn't change status
我假设编辑按钮应该在点击时改变其状态。并且被覆盖方法中的参数也应该切换。
我可以编写自己的代码在 UIViewController 中设置标志以检查模式并相应地切换 tableView,但我假设必须有其他方式。
【问题讨论】:
标签: iphone objective-c ios uitableview uiviewcontroller