iPhone和iPad之间的行为不同。

3

我在iPhone 6 Plus和iPad Pro上运行相同的代码,但它们的反应不一样。当设备方向改变时,会调用一个函数,然后我只是用以下代码打印视图的宽度:

override func viewDidLoad(){
    super.vewDidLoad()
    NotificationCenter.default.addObserver(self, selector: #selector(MyClass.rotated), name: NSNotification.Name.UIDeviceOrientationDidChange, object: nil)
}
func rotated(){
    print(self.view.bounds.width)
}

在iPhone上,我得到了旋转后的宽度,但在iPad上,我得到了旋转前的宽度。 感谢您的帮助!


提供更多上下文。发布包含此打印行的整个方法。 - rmaddy
你应该查看 traitCollectionDidChange(_:) 方法,它会在设备旋转等情况下被调用。 - rmaddy
1个回答

3
你可以尝试在视图控制器功能中获取宽度: func viewDidLayoutSubviews() 如果有帮助,请告诉我!

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接