Ios UIView以编程方式在设备旋转时自动调整大小

Ios UIView以编程方式在设备旋转时自动调整大小,ios,iphone,objective-c,ipad,uiview,Ios,Iphone,Objective C,Ipad,Uiview,我有一个UIView(有多个子视图),我想在设备(iPad)旋转时调整它的大小,我正在尝试使用autoresizingMask,但我认为我没有正确的方法,因为它似乎没有做任何事情 因此,在我的视图的init方法中,我将执行以下操作。视图的框架是整个屏幕 - (id)initWithFrame:(CGRect)frame { self = [super initWithFrame:frame]; if (self) { self.autoresizingMask

我有一个UIView(有多个子视图),我想在设备(iPad)旋转时调整它的大小,我正在尝试使用autoresizingMask,但我认为我没有正确的方法,因为它似乎没有做任何事情

因此,在我的视图的init方法中,我将执行以下操作。视图的框架是整个屏幕

 - (id)initWithFrame:(CGRect)frame
{
    self = [super initWithFrame:frame];
    if (self) {

        self.autoresizingMask = (UIViewAutoresizingFlexibleWidth |
                            UIViewAutoresizingFlexibleHeight);
        self.autoresizesSubviews = YES;

        //Add in subviews, etc
    }
    return self;
}
下面是从我的viewController初始化视图的代码:

MyViewClass *myView = [[MyViewClass alloc] initWithFrame:CGRectMake(0,0, self.view.frame.size.width, self.view.frame.size.height];
[self.view addSubview:myView];

您可以为任何正在将此视图添加到主框架中的内容添加代码吗?这个视图所包含的视图之间的交互实际上决定了它的大小。刚刚添加了新代码。它有点简化,但本质上我就是这么做的initWithFrame…您初始化的是UIView,而不是包含您显示的
initWithFrame
的视图。这正是您要做的,还是您提到的简化?请尝试插入myView.autoresizingMask=UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleWidth;我不确定y是什么你的意思是,但是我正在初始化的视图使用上面显示的initWithFrame方法实现,并且是UIView的一个子类。我只是更改了代码以反映这一点。我的简化是,我只是删除了很多细节,以便发布这个问题,只关注调整大小方面。