IPAD - UISplitViewController的MainWindow NavigationBar tintColor问题

时间:2010-12-03 06:34:54

标签: ipad uisplitviewcontroller navigationbar tintcolor

问题:

每次我将iPad转为纵向模式并显示弹出窗口时,mainWindow的navigationBar的TintColor会恢复为灰色。

详细说明:

  • 我从Xcode 3.2.5创建了应用程序并选择了基于拆分视图的应用程序。
  • 我使用“界面”构建器将MainWindow.xib的navigationBar tintColor更改为蓝色。
  • 然后,我最初使用横向模式运行应用程序,并且tintColor在模拟器上显示为蓝色值。
  • 当我将方向更改为纵向并单击按钮以显示MainWindow弹出窗口时,其navBar与弹出框的边框混合,忽略蓝色。
  • 但是当我将方向转回横向模式时,MainWindow的tintColor又回到原来的颜色,即Gray。即使将代码写入viewDidAppear块,我也无法再编辑它的值。

这是一个错误吗?或者我需要配置更多设置才能使其正常工作?

先谢谢

- 乔

3 个答案:

答案 0 :(得分:4)

我在hoodah的devforums.apple.com上找到了解决方法 使用Interface Builder将类导航栏更改为类 代码如下:

@interface iPadNavigationBar : UINavigationBar

@end

@implementation iPadNavigationBar

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

@end

希望有所帮助......

答案 1 :(得分:2)

确实是一个错误,我向Apple提交了一个开发人员支持请求,他们基本上说这是一个已知的问题。

我已经发布了一个工作示例的源代码。 http://realprogrammersdontgarbagecollect.blogspot.com/2011/01/splitviewcontroller-with-navigationbar.html

答案 2 :(得分:0)

我认为这是一个错误,我也遇到了问题。如果您有一个小测试用例,我建议在Apple论坛上提高它。