我遇到了一个奇怪的问题。每当我的应用程序启动时,我都会在 AppDelegate 中执行以下操作:
- (BOOL)applicationUIApplication *)application didFinishLaunchingWithOptionsNSDictionary *)launchOptions
{
// Override point for customization after application launch.
[[UINavigationBar appearance] setBarTintColor:[UIColor whiteColor]];
[[UINavigationBar appearance] setTintColor:[UIColor mainLightBlue]];
[[UITabBar appearance] setTintColor:[UIColor mainLightBlue]];
[IJContext setDefaultContext:[[IJContext alloc] init]];
RKLogConfigureFromEnvironment();
return YES;
}
然后,如果我的用户成功登录,我在 AppDelegate 中执行以下操作:
-(void)presentNewsFeed
{
RKLogConfigureByName("RestKit/Network", RKLogLevelDebug);
UIViewController *newTopViewController = [[UIStoryboard storyboardWithName"MainiPadStoryboard" bundle:nil] instantiateViewControllerWithIdentifier"GlobalInitialSliding"];
[_window setRootViewController:newTopViewController];
}
此时,setTintColor 工作正常。现在,每当用户注销时,我都会调用:
- (void)presentLoginScreen
{
UIViewController *newTopViewController = [[UIStoryboard storyboardWithName"MainiPadStoryboard" bundle:nil] instantiateViewControllerWithIdentifier"Login"];
[_window setRootViewController:newTopViewController];
}
它再次位于 AppDelegate 中。如果重新登录,我会再次调用 presentNewsFeed
。但是,在第二次, setTintColor 不再起作用,并且我的所有选项卡在被选中时实际上都没有 tintColor 。所以我的用户实际上无法知道选择了哪个选项卡。关于为什么的任何想法?
我在 viewController
中有另一个 tintColor
声明,它与 appDelegate
中的声明相混淆!
谢谢
关于ios - UITabBar setTintColor 在 [_window setRootViewController] 之后不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21460357/
欢迎光临 OStack程序员社区-中国程序员成长平台 (https://ostack.cn/) | Powered by Discuz! X3.4 |