如何在导航控制器的底部创建持久性按钮?

时间:2016-10-13 16:34:22

标签: ios uinavigationcontroller uibutton

我有一个基于主/基于细节的iPhone应用程序。如果不使用选项卡式导航样式应用程序,如何在导航控制器的底部创建持久性按钮(我想在每个视图上使用它)。请线框(加号按钮)。我尝试在底部的工具栏中添加一个按钮栏项,但由于某种原因它不会显示出来。我使用xcode 8和ios 10。

enter image description here

供参考我创建了一个自定义导航控制器类并插入了以下代码

#import "MainNavigationController.h"

@interface MainNavigationController ()

@end

@implementation MainNavigationController

- (void)viewDidLoad {
    [super viewDidLoad];
    NSLog(@"Testing");
    // Do any additional setup after loading the view.

    NSMutableArray *buttonsArray = [[NSMutableArray alloc] init];
    UIBarButtonItem *myButton1=[[UIBarButtonItem alloc] initWithTitle:@"button 1" style:UIBarButtonItemStylePlain target:self action:@selector(toolbarButtonPressed1:)];
    [buttonsArray addObject:myButton1];
    UIBarButtonItem *myButton2 = [[UIBarButtonItem alloc] initWithTitle:@"button 2" style:UIBarButtonItemStylePlain target:self action:@selector(toolbarButtonPressed2:)];
    [buttonsArray addObject:myButton2];
    [self setToolbarItems:buttonsArray animated:YES];

    [self.toolbar setBarStyle:UIBarStyleBlack];
    [self.toolbar setItems: buttonsArray animated:NO];

}

然后我在界面构建器中显示工具栏...工具栏显示,颜色在代码中设置,但按钮不显示

1 个答案:

答案 0 :(得分:2)

一个简单的解决方案是将UINavigationController嵌入到自定义父视图控制器中。这意味着导航控制器的视图是父视图控制器视图的子视图。这意味着你可以添加父视图控制器视图的另一个子视图,即按钮。