gpt4 book ai didi

ios - 一个 UIBarButtonItem 有两个操作?

转载 作者:行者123 更新时间:2023-11-29 04:06:56 25 4
gpt4 key购买 nike

我有一个编辑按钮,是通过self.editButtonItem获得的,我已将其设置为self.navigationItem.leftBarButtonItem,例如当按下它时,UITableView 开始编辑,并变成“完成”按钮。再次按下时, View 停止编辑并且按钮返回到正常状态。我还希望将“添加”按钮变成“清除”按钮,并在按下编辑按钮时链接到不同的操作。(与 iPhone “电话”应用程序的收藏夹选项卡非常相似, 只是当按下“编辑”按钮时,加号按钮会变成一个清除按钮)。

我真的很想以这种方式获得编辑操作和样式等(self.editButtonItem),但我也希望有一个额外的选择器链接到编辑按钮

我应该如何执行此操作?我尝试为 UIBarButtonItem 创建一个类别,但我真的不知道应该用它做什么。

谢谢。

最佳答案

要创建一个标题可以更改的按钮,您可以执行以下操作:

为按钮定义一个 ivar:

UIBarButtonItem *_btnAddClear;

viewDidLoad中:

_btnAddClear = [[UIBarButtonItem alloc] initWithTitle:@"Add" style:UIBarButtonItemStyleBordered target:self action:@selector(addClearAction:)];
_btnAddClear.possibleTitles = [NSSet setWithObjects:@"Add", @"Clear", nil];

由于您希望在点击“编辑/完成”按钮时更改此按钮的标题,因此您可以添加如下代码:

- (void)setEditing:(BOOL)editing animated:(BOOL)animated {
[super setEditing:editing animated:animated];

_btnAddClear.title = editing ? @"Clear" : @"All";
}

最后,按钮处理程序:

- (void)addClearAction:(UIBarButtonItem *)button {
if (self.editing) {
// perform "clear" action
} else {
// perform "add" action
}
}

关于ios - 一个 UIBarButtonItem 有两个操作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15041673/

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