0

我正在使用initWithFrame初始化 UIView 的方法,该 UIView 将充当视图控制器主视图的子视图;但是,UIView 似乎总是基于纵向模式框架(从而将自己拥抱到屏幕的一侧)而不是覆盖整个屏幕的横向模式框架来呈现自己。

我正在以横向模式初始化视图控制器,因此应该使用正确的参数初始化 uiview,但现在情况似乎并非如此。我一直在使用 superview 的框架、superview 的边界以及UIScreen mainscreen可能的参数(rects)initWithFrame,但到目前为止我还没有运气。

4

1 回答 1

2

您需要autoresizingMask在初始化后定义适合您的视图。

首先,将视图初始化frame为您的屏幕bounds(或您的父视图,如果您的父视图占据了整个屏幕)。autoresizingMask然后,按如下方式设置您的视图:

self.myView.autoresizingMask = UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight | 
  UIViewAutoresizingFlexibleLeftMargin | UIViewAutoresizingFlexibleRightMargin |
  UIViewAutoresizingFlexibleTopMargin | UIViewAutoresizingFlexibleBottomMargin;

这应该使您的视图bounds在其父视图发生更改时自动bounds更改。

于 2013-06-30T16:16:25.710 回答