在写一个presentViewController的自定义动画,对于toVC我用的是xib绘制界面,但在执行动画前获取toVC.view的尺寸时,发现用xib的话,获取的尺寸就是 xib中的原始size,而没有根据手机屏幕进行自适应,比如在xib中设置的默认尺寸是320*
568, 那么在iPhone6 上取到的toVC.view的尺寸也是320*
568,而不是真正的375*
667。(如果是600*
600那一定是打开了Size Class,或者Trait Variations)。
根据以前的经验,这种情况一般是要到viewWillAppear或者viewDidAppear之后才能取到正确的尺寸的。
但是在看一份自定义present动画的开源代码(NavigationPresent https://github.com/kamous/NavigationPresent)时,发现它使用的是storyboard,却没有这个问题。
所以问题出在我用xib上吗?
于是试着把xib改成用storyboard,果然就好了,能够自适应尺寸了。
这是为什么呢?