0

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

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

4

3 回答 3

3

默认情况下, a 中的后退按钮UINavigationController归父级所有。

只需在调用前设置后退按钮pushViewController:

UIBarButtonItem *backButton = [[UIBarButtonItem alloc] 
                                initWithTitle:@"Go Back" 
                                        style:UIBarButtonItemStyleBordered
                                       target:nil 
                                       action:nil];

[self.navigationItem setBackBarButtonItem:backButton];

[self.navigationController pushViewController:myNewController];

(取自本教程

于 2012-07-12T23:37:48.750 回答
1

您可以NavigationController使用self.navigationController. 就像 push 和 pop 时一样ViewControllers

默认情况下,您NavigationController从 中获取标题ViewController,因此您只需像这样设置即可;

self.title = @"My title";

并访问后退按钮;

self.navigationController.backBarButtonItem

UINavigationController 类参考

于 2012-07-12T23:23:35.243 回答
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];
于 2012-07-12T23:35:55.013 回答