我正在创建一个我正在使用导航控制器的应用。我已经完成了从导航栏添加和删除UIBarButtonItem。我的左侧有后退按钮,右侧有一个名为(更多)的按钮。
现在我的要求是当我点击“更多”时,我需要在导航栏的左侧添加一个CLOSE按钮,并且应该隐藏“返回”按钮。我也完成了这件事。
问题在于删除我正在使用的CLOSE按钮,如:
self.navigationItem.leftBarButtonItem = nil;
它也会删除我的后退按钮。我需要保留按钮,只想删除按钮。
我不知道我是否正确,我需要编写显示后退按钮的代码。或者有什么方法可以在点击“更多”按钮或“关闭”时仅删除“关闭”按钮。
谢谢
答案 0 :(得分:4)
如果点击“更多”按钮,则应隐藏“返回”按钮,并在NavBar的左侧添加“更多”,以便您可以这样做:
-(void) moreButtonClicked{
[self.navigationItem setLeftBarButtonItem:nil animated:NO];
UIBarButtonItem *closeButton = [[UIBarButtonItem alloc] initWithTitle:@"CLOSE" style:UIBarButtonItemStyleBordered target:self action:@selector (closeButtonClicked:)];
self.navigationItem.leftBarButtonItem = closeButton;
[closeButton release];
}
如果您想删除CLOSE按钮并在之前的位置设置BACK按钮,请尝试以下方式:
[self.navigationItem setLeftBarButtonItem:nil animated:NO];
UIBarButtonItem *backButton = [[UIBarButtonItem alloc] initWithTitle:@"BACK" style:UIBarButtonItemStyleBordered target:self action:@selector (backButtonClicked:)];
self.navigationItem.leftBarButtonItem = backButton;
[backButton release];