我在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上我得到旋转前的宽度。 谢谢你的帮助!
答案 0 :(得分:3)
您可以尝试在视图控制器功能中获取宽度:
func viewDidLayoutSubviews()
请告诉我这是否有帮助!