1

我正在制作一个用于学习目的的笔记应用程序,但我遇到了 UIBarButtons 的问题。

问题

当我点击文本视图开始编辑时,我希望右栏按钮更改为“完成”,以便用户可以用它关闭键盘(并在后台自动保存)。我的问题是在用户按下“完成”后让按钮返回到我原来的右栏按钮。

到目前为止我尝试过的

我尝试将原始位置作为视图的属性,但在我看来,故事板将条形按钮表示为位置而不是实际实体。所以这是不成功的,因为我在尝试时只得到一个空白点。

我已经到处寻找答案,但我没有得到答案。请帮帮我。

4

1 回答 1

0

你说得对,UIBarButtonItem不是视图,它们只是描述视图的对象。因此,不可能在它们上设置框架或中心。

您需要做的是创建两个UIBarButtonItems,一个用于编辑,一个用于完成。然后使用UIToolBar方法或属性,您需要删除编辑按钮,但稍后再按住它,然后在其位置插入完成按钮。完成后反转交换。

你可以通过抢aUIToolBar的物品toolbar.items,它会是一个NSArray。然后您可以removeObjectAtIndex:删除编辑按钮。然后你可以insertObject:atIndex:添加你的完成按钮。然后回到你的UIToolBarfor setItems:animated

// Get current items
NSMutableArray *temp = [toolBar.items mutableCopy];

// Check for editing, with your own variable, then insert/remove buttons
if (/*Editing*/) {
    [temp removeObject:editButton];
    [temp insertObject:doneButton atIndex:0];
} else {
    [temp removeObject:doneButton];
    [temp insertObject:editButton atIndex:0];
}

// Send back to your toolbar
[toolBar setItems:temp animated:YES];
于 2013-08-06T12:04:46.613 回答