gpt4 book ai didi

ios - 为特定 View Controller ios6 设置 UIBarButtonItem 的色调颜色

转载 作者:行者123 更新时间:2023-12-01 16:18:12 25 4
gpt4 key购买 nike

从应用程序调用:willFinishLaunchingWithOptions:

+(void)styleNavbar {
[[UIBarButtonItem appearance] setTintColor:[UIColor colorWithRed:45/255.0 green:48/255.0 blue:53/255.0 alpha:1]];
[[UIBarButtonItem appearance] setTitleTextAttributes:@{UITextAttributeTextColor:[UIColor whiteColor], UITextAttributeTextShadowColor:[UIColor blackColor], UITextAttributeTextShadowOffset: [NSValue valueWithCGSize:CGSizeMake(0,1.0)]} forState:UIControlStateNormal];
[[UINavigationBar appearance] setTintColor:[UIColor colorWithRed:22/255.0 green:24/255.0 blue:26/255.0 alpha:1]];
}

我现在正尝试在我的一个 Storyboard的 View Controller 中使用不同的配色方案。

我已经能够为导航栏和普通按钮设置色调。

在我的 -viewDidLoad 中:
[self.navigationController.navigationBar setTintColor:[MyColorScheme sharedInstance].lightBlueColor];
[self.navigationItem.rightBarButtonItem setTintColor:[MyColorScheme sharedInstance].lightBlueColor];

但是我正在努力对继续使用全局颜色方案的后退按钮做同样的事情,除非我将 +styleNavbar 行注释掉。我没有成功尝试:
[self.navigationController.navigationBar.backItem.backBarButtonItem setTintColor:[MyColorScheme sharedInstance].lightBlueColor];
[self.navigationItem.backBarButtonItem setTintColor:[MyColorScheme sharedInstance].lightBlueColor];
[self.navigationItem.leftBarButtonItem setTintColor:[MyColorScheme sharedInstance].lightBlueColor];
[[UIBarButtonItem appearanceWhenContainedIn:[MySpecificViewController class], nil] setTintColor:[MyColorScheme sharedInstance].lightBlueColor];

运行上述所有行似乎不会覆盖后退按钮的色调,即使我可以使用相同的方法设置其他导航栏元素的样式。是否可以在使用应用程序范围的外观代理设置其颜色后设置后退按钮的样式?

最佳答案

使用appearanceWhenContainedIn:覆盖特定 View Controller 的工具栏/导航栏的全局设置。您需要为想要以不同方式着色的导航栏/工具栏创建一个子类。
The Apple documentation举例说明如何做到这一点。

关于ios - 为特定 View Controller ios6 设置 UIBarButtonItem 的色调颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21575445/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com