Ipad UISplitViewController Barstyle在方向更改时更改

Ipad UISplitViewController Barstyle在方向更改时更改,ipad,uisplitviewcontroller,Ipad,Uisplitviewcontroller,在我的iPad应用程序中,我通过以下代码将barStyle属性设置为UIBarStyleBlack: // in viewDidLoad self.navigationController.toolbar.barStyle = UIBarStyleBlack; 奇怪的是,当我旋转iPad时,barStyle有时会重置为灰色/灰色。关于为什么会发生这种情况,你有什么想法吗?这似乎和,它有一个公认的答案,在我看来似乎是可行的 这个问题中提供的信息帮助我理解这个问题。旋转时,将隐藏和显示不同的视图控

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

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

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

这似乎和,它有一个公认的答案,在我看来似乎是可行的

这个问题中提供的信息帮助我理解这个问题。旋转时,将隐藏和显示不同的视图控制器,并可能释放其属性。答案的作者建议使用来自
UISplitViewController
的委托回调来确定何时重新设置条形图样式,而不是标准的UIView回调:

实际上

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

将修复它。

不,这是在该版本发布之前发生的。我想将其标记为正确,但由于这是一个随机错误,我将等待更长的时间。但是,我尝试了你的建议,到目前为止,我的barStyle还没有改变。这件事发生在我身上,我不得不将代码移动到ViewWillDisplay,正如你建议的那样。很好用!谢谢