iOS: 可以将 barbuttonitem 叠加在其他 barbuttonitem 上并交换它们

iOS: possible to superimpose barbuttonitem on other barbuttonitem and swap them

我有一个在文本视图中显示一些信息的屏幕,我希望用户能够编辑它。

现在,我在代码中创建的导航栏右侧有一个编辑按钮,如下所示:

 UIBarButtonItem *editButton = [[UIBarButtonItem alloc] initWithTitle:@"Edit" style:UIBarButtonItemStylePlain target:self action:@selector(gotoEdit)];
        self.navigationItem.rightBarButtonItem = editButton;

对于编辑,我可以启动一个新的视图控制器,但我认为只使用 textview.editable 属性 使文本视图可编辑会更简洁。

但是,我需要将 uibarbuttonitem 的标题和功能从编辑更改为保存。

您显然无法更改系统编辑按钮的标题,我也不想创建自定义栏按钮项目,尽管这最终可能证明是必要的。

可以通过使颜色清晰并禁用交互来隐藏栏按钮项。因此,我萌生了将两个放在同一个地方,并相应地隐藏和显示的想法。

因此我的问题。可以把两个放在同一个地方吗?

感谢您对此的任何想法。

如果您使用故事板...您可以将 UIButton 拖放到 rightBarButtonItem。将此按钮设为 属性 并将初始标题设置为 "Edit".

在行动中:

- (IBAction) editButton (id){
    if(!isEditing){
         // Prep for editing
         [self.editButton setTitle:"Save" forState:UIControlStateNormal];
         isEditing = true;
    }else{
         // Prep for save
         [self.editButton setTitle:"Edit" forState:UIControlStateNormal];
         isEditing = false;
    }
}