这个代码例子的背景是:导航条右侧有个 edit button,左侧是 back button 和 add button。代码实现的按钮切换/隐藏功能具体就是:点击 edti button 的话,back button 隐藏,同时显示 add button。用户编辑完以后则显示 back button 隐藏 add button。这一功能在很多应用里都会用到,而且适当隐藏掉无用按钮对保持界面简洁以及引导用户操作都是有意义的。
- (void)viewDidLoad {[super viewDidLoad];self.navigationItem.rightBarButtonItem = self.editButtonItem;}- (void)setEditing:(BOOL)editing animated:(BOOL)animated { [super setEditing:editing animated:animated];// Don't show the Back button while editing.[self.navigationItem setHidesBackButton:editing animated:YES];if (editing) {self.navigationItem.leftBarButtonItem = [[[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemAdd target:self action:@selector(insertMe)] autorelease];}else {self.navigationItem.leftBarButtonItem = nil;//self.navigationItem.leftBarButtonItem = [[[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemCancel target:self action:@selector(backButton) ] autorelease];}}