我正在使用 initWithFrame
方法来初始化一个 UIView,它将充当 View Controller 主视图的 subview ;然而,UIView 似乎总是基于纵向模式框架(从而将自身紧贴屏幕的一侧)而不是覆盖整个屏幕的横向模式框架来呈现自己。
我正在横向模式下初始化 View Controller ,因此应该使用正确的参数初始化 uiview,但现在情况似乎并非如此。我一直在使用 superview 的框架、superview 的边界和 UIScreen mainscreen
作为 initWithFrame
的可能参数(矩形),但到目前为止我运气不好。
最佳答案
您需要在初始化后为您的 View 定义适当的 autoresizingMask
。
首先,初始化 View 及其 frame
作为您的屏幕 bounds
(或者您的父 View ,如果您的父 View 占据了整个屏幕)。然后,按如下方式设置 View autoresizingMask
:
self.myView.autoresizingMask = UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight |
UIViewAutoresizingFlexibleLeftMargin | UIViewAutoresizingFlexibleRightMargin |
UIViewAutoresizingFlexibleTopMargin | UIViewAutoresizingFlexibleBottomMargin;
这应该使您的 View 在其父级 View bounds
更改时自动更改其 bounds
。
关于ios - 如何初始化 UIView 使其在横向模式下覆盖屏幕?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17392049/