【发布时间】:2012-07-13 07:45:43
【问题描述】:
我正在尝试在当前在堆栈上拥有我的视图的导航控制器上设置后退按钮。 我无法更改它的任何属性。
有没有办法可以抓住最顶部的导航控制器,例如:[self navigationcontroller]?
【问题讨论】:
标签: ios cocoa-touch
我正在尝试在当前在堆栈上拥有我的视图的导航控制器上设置后退按钮。 我无法更改它的任何属性。
有没有办法可以抓住最顶部的导航控制器,例如:[self navigationcontroller]?
【问题讨论】:
标签: ios cocoa-touch
默认情况下,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)
【讨论】:
您可以使用self.navigationController 访问您的NavigationController。就像你在推送和弹出 ViewControllers 时所做的一样。
默认情况下,您的NavigationController 会从您的ViewController 中获取标题,因此您只需像这样设置即可;
self.title = @"My title";
并访问后退按钮;
self.navigationController.backBarButtonItem
【讨论】:
设置标题:
[[self navigationItem] setTitle:tabTitle];
设置 barButton 外观
[[UIBarButtonItem appearance] setTitleTextAttributes:[NSDictionary dictionaryWithObjectsAndKeys:[UIFont fontWithName:@"Font-Name" size:12.0f], UITextAttributeFont, [UIColor blackColor], UITextAttributeTextColor, nil] forState:UIControlStateNormal];
【讨论】: