我将几个UIViews作为子视图添加到我的主视图控制器中。我在纵向模式下的视图布局看起来很好,但是当它倾斜到横向模式时,子视图的底部部分会被切断。我想如果我设置框架的高度,它将允许屏幕滚动,从而揭示被切断的子视图的部分 - 但它没有。
- (void)didRotate:(NSNotification *)notification {
UIDeviceOrientation orientation = [[notification object] orientation];
if (orientation == UIDeviceOrientationLandscapeLeft) {
self.view.frame = CGRectMake(0.0, 0.0, 1024.0, maxHeight);
} else if (orientation == UIDeviceOrientationLandscapeRight) {
self.view.frame = CGRectMake(0.0, 0.0, 1024.0, maxHeight);
}
}
我还尝试将UIScrollView添加到主视图中,然后将前面提到的子视图添加到scrollView
- (void)viewDidLoad
{
scrollView = [[UIScrollView alloc] initWithFrame:self.view.frame];
[self.view addSubview:scrollView];
//add views to scrollView
[super viewDidLoad];
}
如果子视图超出屏幕尺寸,如何使主视图“滚动”?
答案 0 :(得分:0)
将视图添加到滚动视图后,必须设置滚动视图的contentSize
属性,以便滚动视图知道要滚动到的内容。