我希望有一个带有设置按钮的导航栏,无论它在哪个标签上,都会保留在那里。
很抱歉这条短信对我来说很晚,
大通
答案 0 :(得分:0)
您可以做的是将UIToolBar拖到故事板控制器上,然后设置按钮和所需的操作。您可以使所有控制器从同一个基类扩展,而不必重复代码,如果您觉得它更令人满意,可以在代码中实例化此工具栏。
问题在于使用导航,因为导航栏将替换/重叠此工具栏。
UIToolbar *myToolbar = [[UIToolbar alloc] initWithFrame:CGRectMake(0, 0, self.view.bounds.size.width, 44)];
UIBarButtonItem *myButton = [[UIBarButtonItem alloc] initWithTitle:@"Title"
style:UIBarButtonItemStyleBordered
target:self
action:@selector(myAction:)];
[myToolbar setItems:[NSArray arrayWithObjects:myButton, nil]];
[self.view addSubview:myToolbar];
答案 1 :(得分:0)
在AppDidFinishLaunching中:
Add Your TabBarcontroller (rootViewController) for UINavigationController
现在添加设置按钮是navigationBar中的示例
UIBarButtonItem *rightButton = [[UIBarButtonItem alloc] initWithTitle:@"Done"
style:UIBarButtonSystemItemDone target:nil action:nil];
navigationCOntroller.navigationItem.rightBarButtonItem = rightButton
rightButton将在应用程序中可见
答案 2 :(得分:0)
如果您只想放置一个带有设置按钮的导航栏,可以使用UITabBarController从任何视图访问该设置按钮,您可以在AppDelegate中执行类似的操作 - >
YourViewController1 *yourVC1 = [YourViewController1 alloc] initWithNibName:@"YourViewController1" bundle:nil];
UINavigationController *yourNVC1 = [[UINavigationController alloc] initWithRootViewController:yourVC1];
YourViewController2 *yourVC2 = [YourViewController2 alloc] initWithNibName:@"YourViewController2" bundle:nil];
UINavigationController *yourNVC2 = [[UINavigationController alloc] initWithRootViewController:yourVC2];
UITabBarController *tabBC = [[UITabBarController alloc] init];
[tabBC setViewControllers:[NSArray arrayWithObjects:yourNVC1, yourNVC2, nil]];
self.window.rootViewController = tabBC;
你应该在所有视图上都有一个带导航栏的标签栏。现在,将设置按钮放在导航栏中,将其添加到视图控制器中要显示设置按钮的viewDidLoad方法 - >
UIBarButtonItem *selectBarButton = [[UIBarButtonItem alloc] initWithTitle:@"Settings" style:UIBarButtonItemStyleBordered target:self action:@selector(selectorName:)];
self.navigationItem.rightBarButtonItem = selectBarButton;