嗨,我也在学习如何使用自动调整大小和滚动视图,并提出了这个可行的解决方案,如果可以改进它等,欢迎您对我的方法提出反馈。
我刚刚创建了一个测试视图控制器,其视图如下所示。
灰色区域是被UIView
调用的mainView
,它是视图控制器视图的子视图(它比视图控制器的视图长)。
当我改变旋转时,会看到这样的事情:
您可以看到计算器不再适合屏幕。所以我决定从一开始就拥有一个 UIScrollView 。添加mainView
为子视图。
剩下的最后一件事是,我希望 ScrollView 的框架在设备旋转时也发生变化,这样我就可以获得这样的效果:
(您会看到滚动视图的宽度与手机相同)。
这就是我实现所有这些的方式:
- (void)viewDidLoad
{
[super viewDidLoad];
// Do any additional setup after loading the view from its nib.
UIScrollView *scrollView = [[UIScrollView alloc] initWithFrame:[self.view bounds]];
[[self view] addSubview:scrollView];
[scrollView addSubview:self.mainView];
[scrollView setContentSize:[mainView bounds].size];
[scrollView setAutoresizingMask:UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight | UIViewAutoresizingFlexibleRightMargin |UIViewAutoresizingFlexibleBottomMargin];
}
有什么意见和反馈吗?