4

我尝试了在其他帖子中找到的几种解决方案,但在设备旋转时仍然无法自动调整子视图大小。我的布局 (IB) 具有三个视图,并且仅将调整大小应用于当前视图。如果然后,在旋转设备后,视图被显示,没有调整大小并保持在以前的尺寸。我设置了自动调整子视图及其掩码......我做错了什么或错过了什么?任何帮助将不胜感激,谢谢!

- (void)viewDidLoad
{

    [super viewDidLoad];

    [self.view setAutoresizesSubviews:YES];
    [self.view setAutoresizingMask:UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight];
    [vistaSocial setAutoresizesSubviews:YES];
    [vistaSocial setAutoresizingMask:UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight];
    [vistaB setAutoresizesSubviews:YES];
    [vistaB setAutoresizingMask:UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight];
4

3 回答 3

2

我认为您没有在 xib 文件上使用正确的大小调整属性。据我了解,您必须在当前控制器上添加了 2-3 个视图;但是自动调整大小在某个地方出错了。一个一个地尝试并使用正确的设置。如果我预测错误,您可以分享任何屏​​幕截图以便更好地理解。

于 2012-06-04T18:10:07.490 回答
2

您可以在 Nib 文件的帮助下设置 Autoresize 属性。从NIB文件正确设置后,您可以检查一下吗?

于 2012-06-04T18:18:43.740 回答
1

对于要在设备旋转时调整其大小的给定视图,它的父视图需要将其autoresizesSubviews属性设置为YES. (从您的代码片段中不清楚您的视图层次结构是什么。)尝试更改

[vistaB setAutoresizesSubviews:YES];

[vistaB.superview setAutoresizesSubviews:YES];
于 2012-06-04T18:08:45.757 回答