我将视图控制器从一个更改为另一个。当第一个控制器处于活动状态时,电话处于横向。第二个控制器只支持纵向方向。当它变得活跃时,它有一段时间是横向的,所以它的内容也是横向绘制的。然后视图控制器旋转到纵向方向,但内容的重绘不会发生。
在viewWillTransition
中,我调用view.setNeedsDisplay()
,但这也没有帮助。
为了解决这个问题,我做了initUI
函数,只有主窗口是纵向方向时才在viewDidLoad
中调用。在其他情况下,我在viewWillTransition
中调用initUI
。
我想知道在这样的标准情况下我应该写什么代码。
1条答案
按热度按时间rqmkfv5c1#
如果您想限制SecondViewController只能纵向。您可以使用AppDelegate的方法。在该方法中,您可以检查当前的TopViewController,并基于此返回方向。
请检查下面的代码。
要获取TopViewController,您可以使用此扩展:https://stackoverflow.com/a/50656239/5973760