更改导航栏和工具栏中的导航控制器作为视图的色调
我有一个UINavigationController作为我的UIPopoverController的主视图。我想改变导航栏和工具栏的颜色色调,但似乎无法使其工作。更改导航栏和工具栏中的导航控制器作为视图的色调
任何人都可以指向正确的方向吗?
这里是我有代码不工作的代码。 哪里配色方案=的UIColor colorWithRed:0.228绿色:0.307蓝:0.492阿尔法:1.000] 下面是从的NSLog语句后的结果: 配色方案= UIDeviceRGBColorSpace 0.228 0.307 0.492 1
self.navController = [[UINavigationController alloc]
initWithRootViewController:serversMenu];
NSLog(@"Color Scheme = %@", self.appDelegate.colorScheme);
self.navController.navigationBar.tintColor = self.appDelegate.colorScheme;
self.navController.toolbar.tintColor = self.appDelegate.colorScheme;
self.navController.navigationBar.translucent = YES;
UIPopoverController *poc = [[UIPopoverController alloc] initWithContentViewController:self.navController];
poc.delegate = serversMenu;
serversMenu.mainPopOver = poc;
[poc release];
谢谢,
罗布
这只是正常:
AboutViewController *avc = [[AboutViewController alloc] init];
UINavigationController *nav = [[[UINavigationController alloc] initWithRootViewController:avc] retain];
avc.navigationController.navigationBar.tintColor = [UIColor greyColor]; /* or whatever color you choose */
toolbar.tintColor = [UIColor greyColor];
依赖于浩W使您选择创建UIPopoverController
我一定在做错事。这就是我正在做的,模拟器中的色调没有改变。 – Rob 2011-01-07 15:43:43
这是一个错误...这是你的修复...创建UINavigationBar的的子类与此,因为它是唯一的新方法:
- (void)setTintColor:(UIColor *)tintColor
{
// Bug workaround.
[super setTintColor:[self tintColor]];
}
我要去冒险出现在肢体上,并说这是iOS 4.2.x的PopOver/SplitView更新中的一个错误...我说“bug”,因为我已经把它设置得像你一样,在4.1之下它按预期工作。现在,在4.2.x下,它最初看起来不错,但是一旦你在popover中打开masterView,然后旋转回到双重分割,masterView的导航栏就是silver(ios默认值),并且不会有大量锤子敲打会获得masterView导航栏色彩重置为您的配色方案...
我不完全如何最好把它放在一个错误报告的形式,因为我自己并没有完全理解它。但它使用工作,我们没有做任何疯狂的事情!
你有这方面的解决方案吗? – 2011-02-15 10:15:34