我正在尝试在导航控制器上设置当前在堆栈上有我的视图的后退按钮。 我不能改变它的任何属性。
有没有办法可以抓住最顶级的导航控制器,如:[self navigationcontroller]?
答案 0 :(得分:3)
默认情况下,UINavigationController
中的后退按钮归父母所有。
在致电pushViewController:
UIBarButtonItem *backButton = [[UIBarButtonItem alloc]
initWithTitle:@"Go Back"
style:UIBarButtonItemStyleBordered
target:nil
action:nil];
[self.navigationItem setBackBarButtonItem:backButton];
[self.navigationController pushViewController:myNewController];
(摘自this tutorial)
答案 1 :(得分:1)
您可以NavigationController
访问self.navigationController
。就像推动和弹出ViewControllers
时一样。
默认情况下,您的NavigationController
会从您的ViewController
获取标题,因此您必须像这样设置;
self.title = @"My title";
并访问后退按钮;
self.navigationController.backBarButtonItem
答案 2 :(得分:0)
设置标题:
[[self navigationItem] setTitle:tabTitle];
设置barButton外观
[[UIBarButtonItem appearance] setTitleTextAttributes:[NSDictionary dictionaryWithObjectsAndKeys:[UIFont fontWithName:@"Font-Name" size:12.0f], UITextAttributeFont, [UIColor blackColor], UITextAttributeTextColor, nil] forState:UIControlStateNormal];