我希望能够设置我的应用程序导航栏后退按钮的字体,而不会做任何太疯狂的事情,并且不会丢失按钮的任何其他设计特征(即我想保留箭头) .
现在我在 viewDidAppear:
中使用它来设置普通条形按钮项的字体 .
for (NSObject *view in self.navigationController.navigationBar.subviews) {
if ([view isKindOfClass:[UIButton class]]) {
[((UIButton*)view).titleLabel setFont:[UIFont
fontWithName:@"Gill Sans"
size:14.0]];
}
}
但是,这不会对后退按钮进行任何更改,无论该代码应用于哪个 UIViewController
(根,当前等) .
7 回答
上面提到的Swift版本(摘自original answer):
更多好东西:
https://stackoverflow.com/a/28347428/469614
在Swift3中:
注意:您只需为导航控制器执行一次此操作 .
Swift 3.0+
AppDelegate.swift
要更改所有
UINavigationBars
中出现的所有UIBarButtonItems
中文本的外观,请在application:didFinishLaunchingWithOptions:
中执行以下操作更新:iOS7友好版
迅速:
注意:这会更改
UIBarButtonItem
的所有实例,而不仅仅是UINavigationBar
中包含的实例Swift3:
对于那些没有完全解决这个问题的人来说,我就是这样做的,包括弹回到IOS7中的Root ViewController:
popToRoot ViewController:
也许有人可能会使用这个 .
请在AppDelegate或初始化NavigationController的地方使用此方法,该方法在iOS 5及更高版本中可用
如果您在iOS 8中使用新的UISplitViewControllerDelegate进行拆分视图,则上述方法将无效,因为新
displayModeButtonItem
的工作方式略有不同 .您需要在创建
displayModeButtonItem
时设置字体 . 假设你是're following Apple'的模板,这可能是在prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
,你会做这样的事情: