IPAD-UISplitViewController&x27;s主窗口导航栏颜色问题

IPAD-UISplitViewController&x27;s主窗口导航栏颜色问题,ipad,uisplitviewcontroller,navigationbar,tintcolor,Ipad,Uisplitviewcontroller,Navigationbar,Tintcolor,问题: 每次我将iPad切换到纵向模式并显示popover时,主窗口导航栏的色调就会恢复为灰色 详情: 我从Xcode 3.2.5创建了应用程序,并选择了基于分割视图的应用程序 我使用Interface builder将MainWindow.xib的navigationBar tintColor更改为蓝色 然后,我以横向模式运行应用程序,tintColor在模拟器上以蓝色值显示 当我将方向更改为纵向并单击按钮以显示主窗口弹出框时,其导航栏与弹出框的边框混合,忽略蓝色 但是,当我将方向调回横向模

问题:

每次我将iPad切换到纵向模式并显示popover时,主窗口导航栏的色调就会恢复为灰色

详情:

  • 我从Xcode 3.2.5创建了应用程序,并选择了基于分割视图的应用程序
  • 我使用Interface builder将MainWindow.xib的navigationBar tintColor更改为蓝色
  • 然后,我以横向模式运行应用程序,tintColor在模拟器上以蓝色值显示
  • 当我将方向更改为纵向并单击按钮以显示主窗口弹出框时,其导航栏与弹出框的边框混合,忽略蓝色
  • 但是,当我将方向调回横向模式时,主窗口的淡色会恢复到原来的灰色。我不能再编辑它的值,即使代码被写入viewdide块
这是虫子吗?或者我需要配置更多的设置才能工作

提前谢谢


--Jo

我认为这是一个bug,我也遇到了这个问题。如果您有一个小测试用例,我建议您在苹果论坛上提交。

我在hoodah的devforums.Apple.com上找到了解决方法 使用接口生成器将导航栏的类更改为 代码如下:

@interface iPadNavigationBar : UINavigationBar

@end

@implementation iPadNavigationBar

- (void)setTintColor:(UIColor *)tintColor
{
     // Bug workaround. 
     [super setTintColor:[self tintColor]];
}

@end

希望有帮助。

最终,我向苹果提交了一份开发者支持请求,他们基本上说这是一个已知的问题

我已经发布了源代码和一个工作示例。