2

我正在创建一个使用导航控制器的应用程序。我已经完成了从导航栏中添加和删除 UIBarButtonItem 的操作。我的左侧有后退按钮,右侧有一个名为 (MORE) 的附加按钮。

现在我的要求是当我点击更多时,我需要在导航栏的左侧添加一个关闭按钮,并且应该隐藏后退按钮。我也完成了这个。

问题是在删除我正在使用的 CLOSE 按钮时:

self.navigationItem.leftBarButtonItem = nil;

它也删除了我的后退按钮。我需要保留后退按钮,只想删除按钮。

我不知道我是否正确,我需要编写代码来显示返回按钮。或者有什么方法可以让我在点击更多按钮或关闭本身时只删除关闭按钮。

谢谢

4

1 回答 1

4

如果您点击 MORE 按钮,则应隐藏 BACK 按钮,并且应在 NavBar 的左侧添加 MORE,以便您可以执行以下操作:

-(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];
于 2010-12-24T11:28:36.393 回答