gpt4 book ai didi

iphone - 如何更改 UINavigationBar 中的 UIBarButtonItem

转载 作者:太空狗 更新时间:2023-10-30 03:30:40 25 4
gpt4 key购买 nike

我正在尝试设置一个可以编辑的项目列表。我有一个主视图,顶部有一个 UINavigationBar,其正下方有一个 UITableView。我想让我的“编辑”按钮在点击时变成“完成”按钮,但我不知道该怎么做。

如果我可以在代码中做到这一点(不是它的界面生成器),我可以直接替换它,但我什至不能那样做。我看过一些使用 [self.navigationItem] 的代码,但在我的例子中,self 是一个 UIView。

当我不想要导航时使用 UINavigationBar 也感觉有点奇怪(这只是一个页面),但我想要一个带有标题和按钮的工具栏,所以我认为真的没有一个选择。

最佳答案

我创建了一个可以从“编辑”更改为“完成”的按钮。这是来自《更多 iPhone 开发》一书的提示。

- (void)viewDidLoad {
[super viewDidLoad];

UIBarButtonItem *editButton = self.editButtonItem;
[editButton setTarget:self];
[editButton setAction:@selector(toggleEdit)];
self.navigationItem.leftBarButtonItem = editButton;
}

和方法toggleEdit

- (IBAction)toggleEdit { 
BOOL editing = !self.tableView.editing;
self.navigationItem.rightBarButtonItem.enabled = !editing;
if (editing) {
self.navigationItem.leftBarButtonItem.title = NSLocalizedString(@"Done", @"Done");
//Added in the edition for this button has the same color of the UIBarButtonSystemItemDone
self.navigationItem.leftBarButtonItem.style = UIBarButtonItemStyleDone;
} else {
self.navigationItem.leftBarButtonItem.title = NSLocalizedString(@"Edit", @"Edit");
//Added in the edition for this button has the same color of the UIBarButtonSystemItemDone
self.navigationItem.leftBarButtonItem.style = UIBarButtonItemStylePlain;
}
[self.tableView setEditing:editing animated:YES];
}

那么你不需要更换任何一个。

关于iphone - 如何更改 UINavigationBar 中的 UIBarButtonItem,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2570247/

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