gpt4 book ai didi

iphone - UIViewController 编辑按钮状态始终相同

转载 作者:可可西里 更新时间:2023-11-01 05:31:04 26 4
gpt4 key购买 nike

我在我的应用程序的导航栏中添加了一个编辑按钮。

我有一个 UIViewController,它实现了 UITableViewDataSource 和 UITableViewDelegate。

我使用 Storyboard添加了 UITableView,并连接到数据源和委托(delegate)。

我在 View Controller 的实现文件中这样做:

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

问题是每当我点击“编辑”按钮时,BOOL 变量“editing”总是“YES”。首先它将 UITableView 设置为编辑模式,但编辑按钮仍然显示“编辑”标签而不是“完成”。由于参数始终为 YES, TableView 永远不会设置为正常模式。

我在这里阅读了一个答案:UITableView in edit mode - 'Edit' button doesn't change status

我假设“编辑”按钮应该在点击时自行更改其状态。重写方法中的参数也应该切换。

我可以编写自己的代码来在 UIViewController 中设置标志以检查模式并相应地切换 tableView,但我假设必须有其他方法。

最佳答案

来自文档

enter image description here

同时删除行 [self.editButtonItem setAction:@selector(setEditing:animated:)];

editButtonItem 与方法- (void)setEditing:(BOOL)editing animated:(BOOL)animated 隐式关联。

因此,您只需重写该方法并按照文档所述在顶部调用 super 的实现即可。

关于iphone - UIViewController 编辑按钮状态始终相同,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12676892/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com