2016-12-15 66 views
3

我在iPhone 6 plus和iPad Pro上运行相同的代码,并且它们的反应方式不同。 函数被调用当设备方向的变化,然后我只是印刷用下面的代码视图的宽度:iPhone和iPad之间的不同行为

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

提供更多的上下文。发布包含此打印行的整个方法。 – rmaddy

+0

您应该查看调用'traitCollectionDidChange(_ :)'方法,以及其他情况下,当设备旋转时。 – rmaddy

回答

3

你可以尝试获取在视图控制器功能宽度:

func viewDidLayoutSubviews()

让我知道,如果这有助于!

+0

是的,它的作品!谢谢 – AW5

相关问题