Iphone 以编程方式更改UIBarButtonim状态

Iphone 以编程方式更改UIBarButtonim状态,iphone,cocoa-touch,Iphone,Cocoa Touch,我有一个编辑/完成UIBarButtonItem,在同一视图中还有一个取消按钮 如果用户在编辑模式下点击取消按钮,我想将编辑按钮设置回其原始状态 但是我看不出有任何方法可以通过编程改变uibarbuttonite的状态。这能做到吗?还是有其他方法可以达到同样的效果 只需更改标题,自己创建一个BOOL来存储按钮的当前状态如何?像这样: - (IBAction)cancelPressed { self.isBarButtonEditing = !self.isBarButtonEditing;

我有一个编辑/完成UIBarButtonItem,在同一视图中还有一个取消按钮

如果用户在编辑模式下点击取消按钮,我想将编辑按钮设置回其原始状态


但是我看不出有任何方法可以通过编程改变uibarbuttonite的状态。这能做到吗?还是有其他方法可以达到同样的效果

只需更改标题,自己创建一个BOOL来存储按钮的当前状态如何?像这样:

- (IBAction)cancelPressed {
   self.isBarButtonEditing = !self.isBarButtonEditing;
   if (self.isBarButtonEditing) {
      self.title = @"Done";
    }
}

通过更多的研究,发现正确的方法是更改视图控制器上的编辑状态。我试图单独更改表视图的编辑状态和编辑/完成按钮。相反,当用户在编辑模式下点击“取消”按钮时,只需在处理“取消”按钮时执行此操作:

if (self.editing) {
    self.editing = NO;
}

这将更改tableView和“编辑/完成”按钮的状态,因此下次显示视图时,视图将重置回其正常(非编辑)状态

这是个好主意,但由于两个原因行不通。最初点击按钮后,它会变成蓝色,我想让它恢复到原来的颜色。第二,如果我这样做,再次点击按钮会改变颜色,但不会改变标题。所以我真的需要更改按钮的真实状态。哦,你是指UITableView中的常规编辑按钮,对吗?也许你应该尝试使用[self.tableView setEditing:NO animated:NO]