0

我有一个视图控制器,它是独立的,有两个左 UIBarButtonItem,但是当我按下它时,我想要这两个按钮 + 后退按钮

我试过了

- (void)viewDidLoad
{
    [super viewDidLoad];

    // back
    if (self.navigationController.navigationItem.backBarButtonItem) {

        self.navigationItem.leftBarButtonItems = [NSArray arrayWithObjects:self.navigationController.navigationItem.backBarButtonItem, self.barButtonFilter, self.barButtonFilterContacts, nil];

    } else {

        self.navigationItem.leftBarButtonItems = [NSArray arrayWithObjects:self.barButtonFilter, self.barButtonFilterContacts, nil];

    }
}

如果有后退按钮,则添加,否则替换

但我没有工作

4

3 回答 3

0

所以这里的问题是aUINavigationBar只能有一个leftButtonItem和一个rightButtonItem。但是你可以做的是在UINavigationBar你可以有一个 UIView 的中心。您可以使用它来放置按钮。

有人在这里有代码:add-buttons-to-the-titleview-of-navigationbar-without-have-to-repeat-code

于 2012-05-11T16:21:18.997 回答
0

我无法解决您的问题,但根据您的标题,您想UINavigationController用条形按钮项目替换您的后退按钮,在这种情况下,您只需要一个自定义按钮来代替后退按钮:

UIBarButtonItem *backButton= [[UIBarButtonItem alloc] initWithTitle:@"yourTitle" style:UIBarButtonItemStylePlain target:self action:@selector(someFunction:)];             
self.navigationItem.rightBarButtonItem = backButton;   
[backButtonrelease]; 

如果这不是您的问题,请详细说明。

于 2012-05-11T09:48:13.367 回答
0

来自 Apple 的 iOS 人机界面指南:

如果您需要提供更大的控件集,或者您不需要启用导航,请使用工具栏而不是导航栏。

即使有足够的空间,也要避免在导航栏上挤满额外的控件。导航栏应该只包含视图的当前标题、后退按钮和一个管理视图内容的控件。相反,如果您在导航栏中使用分段控件,则导航栏不应显示标题,并且不应包含除分段控件之外的任何控件。

http://developer.apple.com/library/ios/#documentation/userexperience/conceptual/mobilehig/UIElementGuidelines/UIElementGuidelines.html

于 2012-05-11T20:53:25.443 回答