UISplitViewController Barstyle在方向更改时更改

时间:2010-10-31 10:24:11

标签: ipad uisplitviewcontroller

在我的iPad应用中,我通过以下代码将barStyle属性设置为UIBarStyleBlack:

// in viewDidLoad
self.navigationController.toolbar.barStyle = UIBarStyleBlack;

奇怪的是,当我旋转iPad时,barStyle将 有时 重置为灰色/灰色。关于为什么会发生这种情况的任何想法?

2 个答案:

答案 0 :(得分:1)

实际上

-(void)viewWillAppear:(BOOL)animated {
    [super viewWillAppear:YES];
    self.navigationController.navigationBar.barStyle = UIBarStyleBlackOpaque;
}

会解决它。

答案 1 :(得分:0)

这似乎与this question相同,它有一个接受的答案,在我看来它会起作用。

该问题中提供的信息有助于我理解问题。在轮换时,隐藏和显示不同的视图控制器,并且可能释放它们的属性。答案的作者建议使用UISplitViewController的委托回调来找出何时重新设置栏样式,而不是标准的UIView回调:

http://developer.apple.com/library/ios/#documentation/uikit/reference/UISplitViewControllerDelegate_protocol/Reference/Reference.html#//apple_ref/doc/uid/TP40009454