gpt4 book ai didi

iOS8:IScreen.mainScreen().bounds 无法可靠地用于方向更改。建议?

转载 作者:行者123 更新时间:2023-11-30 14:05:44 24 4
gpt4 key购买 nike

如果我使用 IScreen.mainScreen().bounds 来获取方向更改后的屏幕大小,我有时会得到“错误”(=“另一个”)屏幕大小(与当前不相关的方向相关)被显示)。我尝试直接在通过通知中心添加到 Controller 的 funcrotated() 中更新从 IScreen.mainScreen().bounds 获得的值:

NSNotificationCenter.defaultCenter().addObserver(self, selector: "rotated", name: UIDeviceOrientationDidChangeNotification, object: nil)
[...]
rotated() {
myBounds = IScreen.mainScreen().bounds
}

但是,myBounds 偶尔会产生与当前未激活的方向相关的值(尤其是在我最新一代 iPad 上快速更改方向时)。我应该使用另一种方式“获取”屏幕尺寸吗?或者我应该从代码中其他地方的 IScreen.mainScreen().bounds 读取值?

最佳答案

您必须使用从 mainscreen().bound 返回的尺寸,然后考虑方向。使用方法:

- (void) willRotateToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation 
duration:(NSTimeInterval)duration

捕获方向变化。当您使用 willRotateToInterfaceOrientation 时,即使您快速更改旋转,您也应该能够捕获正在发生的方向变化。

关于iOS8:IScreen.mainScreen().bounds 无法可靠地用于方向更改。建议?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32438905/

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