gpt4 book ai didi

ios - iOS 8 中呈现的 View Controller 中的界面方向不正确

转载 作者:可可西里 更新时间:2023-11-01 05:40:58 25 4
gpt4 key购买 nike

在 iOS 7 及更早版本中,我可以像这样在 viewDidLayoutSubviews 中更改 UI:

- (void)viewDidLayoutSubviews {

[super viewDidLayoutSubviews];

if ( UIInterfaceOrientationIsLandscape(self.interfaceOrientation) ) {

//update views for landscape

}

else {

//update views for portrait

}

}

我仍然可以在 iOS 8 中执行此操作除了在由其他 View Controller 呈现的 View Controller 中。当一个 View Controller 由另一个 View Controller 呈现时,这不起作用,因为 self.interfaceOrientation 属性在呈现的 View Controller 中不正确。它不反射(reflect)当前方向,而是反射(reflect)设备旋转之前的方向。

如果在 modalPresentationStyle 设置为 UIModalPresentationPageSheet 的 iPad 上呈现 View Controller ,则不会出现此问题。换句话说,该问题仅在呈现全屏 View Controller 时出现。

有什么建议吗?

最佳答案

试试用这个代替:

[[UIApplication sharedApplication] statusBarOrientation]

此外,如果您要放弃对 iOS 7 的支持并转而只支持 iOS 8,我建议您放弃界面方向处理,以支持特征集合和大小类(如果可以的话)。

关于ios - iOS 8 中呈现的 View Controller 中的界面方向不正确,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25815619/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com