我正在尝试将UIScroll视图放在填充页面的页面上,减去边缘周围10px的边距。我已经这样做了。但是,我还希望UIScrollView在设备旋转时调整大小,保持10px的余量。到目前为止我的代码是:
// Get the screen dimensions, considering the status bar
scrollWidth = self.getScreenSize.width // evaluates to 1004 in landscape & 748 in portrait
scrollHeight = self.getScreenSize.height // evaluates to 728 in landscape & 984 in portrait
scrollView = [[UIScrollView alloc] initWithFrame:CGRectMake(10,10,scrollWidth,scrollHeight)];
[scrollView setAutoresizingMask:UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight];
... other stuff to load scrollview content ...
[self.view addSubview:scrollView];
当我启动应用程序时,无论我在哪个方向启动它,scrollView都比页面宽。删除[scrollView setAutoresizingMask .....行使scrollView完美匹配,但不会对设备旋转做出反应
我做错了什么?
答案 0 :(得分:0)
使用shouldAutorotateToInterfaceOrientation
检测屏幕何时旋转,然后更改滚动视图的框架:
CGRect frame = scrollView.frame
//Change frame
scrollView.frame = frame;
答案 1 :(得分:0)
如果您定位6.0或更高版本,请使用AutoLayout / Constraints。比处理框架和边界以及中心容易得多。