尝试更改导航控制器上的标题和后退按钮等属性

时间:2012-07-12 23:15:53

标签: ios cocoa-touch

我正在尝试在导航控制器上设置当前在堆栈上有我的视图的后退按钮。 我不能改变它的任何属性。

有没有办法可以抓住最顶级的导航控制器,如:[self navigationcontroller]?

3 个答案:

答案 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

UINavigationController Class Reference

答案 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];