我遇到了一个奇怪的问题。每当我的应用程序启动时,我都会在 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 。所以我的用户实际上无法知道选择了哪个选项卡。关于为什么的任何想法?
Best Answer-推荐答案 strong>
我在 viewController 中有另一个 tintColor 声明,它与 appDelegate 中的声明相混淆!
谢谢
关于ios - UITabBar setTintColor 在 [_window setRootViewController] 之后不起作用,我们在Stack Overflow上找到一个类似的问题:
https://stackoverflow.com/questions/21460357/
|