我在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上,我得到了旋转前的宽度。 感谢您的帮助!
traitCollectionDidChange(_:)
方法,它会在设备旋转等情况下被调用。 - rmaddy