我正在使用initWithFrame
方法初始化一个UIView,它将充当视图控制器主视图的子视图;然而,UIView似乎总是基于肖像模式框架呈现自己(从而将自己固定在屏幕的一侧)而不是横向模式框架,它将覆盖整个屏幕。
我正在横向模式下初始化视图控制器,因此应该使用正确的参数初始化uiview,但现在看来并非如此。我一直在使用superview的框架,superview的边界,UIScreen mainscreen
作为initWithFrame
的可能参数(rects),但到目前为止我没有运气。
答案 0 :(得分:2)
初始化后,您需要为视图定义正确的autoresizingMask
。
首先,使用frame
作为屏幕bounds
初始化视图(如果您的父视图占据整个屏幕,则初始化视图)。然后,按如下方式设置您的观看次数autoresizingMask
:
self.myView.autoresizingMask = UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight |
UIViewAutoresizingFlexibleLeftMargin | UIViewAutoresizingFlexibleRightMargin |
UIViewAutoresizingFlexibleTopMargin | UIViewAutoresizingFlexibleBottomMargin;
这会使您的观看次数在父级视图bounds
发生变化时自动更改为bounds
。