轮换时调整大小

时间:2013-05-02 13:37:16

标签: objective-c rotation

我正在尝试将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完美匹配,但不会对设备旋转做出反应

我做错了什么?

2 个答案:

答案 0 :(得分:0)

使用shouldAutorotateToInterfaceOrientation检测屏幕何时旋转,然后更改滚动视图的框架:

CGRect frame = scrollView.frame
//Change frame
scrollView.frame = frame;

答案 1 :(得分:0)

如果您定位6.0或更高版本,请使用AutoLayout / Constraints。比处理框架和边界以及中心容易得多。