我正在尝试更改某些视图的后退按钮文本颜色。我可以更改箭头颜色,但文本不会改变色调。我试过了:
setNeedsStatusBarAppearanceUpdate()
我也尝试过:
NSDictionary *dictionary = @{NSForegroundColorAttributeName : [UIColor redColor], NSShadowAttributeName : shadow, NSFontAttributeName : font};
[self.navigationItem.backBarButtonItem setTitleTextAttributes:dictionary forState:UIControlStateNormal];
我在Storyboard中设置了全局色调。它应该覆盖它吗?
如何更改文字?
答案 0 :(得分:1)
您是否尝试过更改导航栏的色调?在storyboard中,转到UINavigationController。在大纲中,选择导航栏。然后在“属性”检查器中,更改“色调”颜色(在“视图”部分下)。这会更改默认后退按钮的颜色。
答案 1 :(得分:1)
你试过吗?
[self.navigationController.navigationBar setTintColor:[UIColor redColor]];
您可以在AppDelegate.m
下的-(BOOL)application:application didFinishLaunchingWithOptions:launchOptions
下添加该行,在我的情况下我出于某种原因以编程方式使用uinavigationcontroller。
所以我看起来像这样......
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
//..codes
[self.navController.navigationBar setTintColor:[UIColor yourColor]];//fontColor
//..codes
}
在 storyboard 中,您可以在查看>下找到它公用事业>显示属性检查器>查看>色调 ..改变那里的颜色,那就是..
嘿!我尝试了你的代码! :)它对我来说效果很好.. 我觉得你错了你的代码......
请勿将代码放在当前的viewcontrollers -viewDidLoad 中 在它之前将它添加到viewcontroller中..
像这样的东西...... //firstViewController.m- (void)viewDidLoad
{
//place your code here..
}
您将在//secondViewController.m
答案 2 :(得分:0)
所以答案是将此代码放在导航堆栈中前一个类的prepareForSegue中。
NSString *backText = self.navigationItem.backBarButtonItem.title;
UIBarButtonItem *backButton = [[UIBarButtonItem alloc] initWithTitle:backText style:UIBarButtonItemStylePlain target:nil action:nil];
NSDictionary *dictionary = @{NSForegroundColorAttributeName : <My Color Here>, NSShadowAttributeName : shadow, NSFontAttributeName : font};
[backButton setTitleTextAttributes:dictionary forState:UIControlStateNormal];
self.navigationItem.backBarButtonItem = backButton;
这似乎是一个非常糟糕的方式。在Storyboard中是否存在继承错误?我会尝试了解更多。