我试图弄清楚为什么通过presentViewController呈现时,我的视图控制器(从xib加载)的框架设置正确:
self.presentViewController(testVC, animated: true, completion: nil);
...但是当添加为子视图控制器时,仍保持在(0,0,600,600):
self.addChildViewController(testVC)
self.view.addSubview(testVC.view)
testVC.didMoveToParentViewController(self)
testVC.view.setNeedsLayout(); (makes no difference)
我可以提供一个孤立的示例,以更清楚地说明问题。有想法吗?
这是因为您忘了给它一个框架!你是说:
self.view.addSubview(testVC.view)
但是,您既不会应用,frame
也不会附加任何约束,因此不会调整视图的大小。您现在是父母。调整子视图的大小取决于您。如果您不这样做,它的大小就是情节提要中的大小-正如您所说的那样,是600 x 600。它不会被魔术调整大小。你必须做。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句