我有一个UINavigationController作为我的UIPopoverController的主视图。我想更改navigationBar和toolBar的颜色色调,但似乎无法使其工作。
有人能指出我正确的方向吗?
这是我现有的代码无效。 其中颜色方案= [UIColor colorWithRed:0.228绿色:0.307蓝色:0.492 alpha: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];
谢谢,
罗布
答案 0 :(得分:4)
这很好用:
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];
取决于您选择如何创建UIPopoverController
答案 1 :(得分:0)
这是一个错误...这里是你的修复...用这个创建一个UINavigationBar的子类,因为它是唯一的新方法:
- (void)setTintColor:(UIColor *)tintColor
{
// Bug workaround.
[super setTintColor:[self tintColor]];
}
我打算冒险尝试说这是iOS 4.2.x的PopOver / SplitView更新中的一个错误...我说“bug”因为我设置的非常像你和根据4.1,它按预期工作。现在,在4.2.x下,它最初看起来不错,但是一旦你在弹出窗口中打开masterView然后旋转回双分割,masterView的导航栏就是银色(默认情况下是ios),没有多少锤击会得到masterView的navbar色调重置为您的配色方案......
考虑到我自己并不完全理解,我并不是最好如何以错误报告的形式提出这个问题。但使用工作,我们没有做任何疯狂的事情!