UIScrollView边界不会改变

时间:2013-01-12 17:20:29

标签: xcode uiscrollview size bounds cgrect

我有一个名为pagingView的UIScrollView的子类。我想设置它的动画,以便在旋转设备时(它仅适用于此viewController,因此在plist中关闭横向模式)。

我已经更改了所有的clipsToBounds属性和contentResize属性以及自动调整遮罩,但似乎都没有。我使用的代码如下:

UIDeviceOrientation orientation = [[UIDevice currentDevice] orientation];
if (orientation == UIInterfaceOrientationLandscapeLeft)
{

[UIView beginAnimations:nil context:nil];
[UIView setAnimationDuration:1.5];
[UIView setAnimationCurve:UIViewAnimationCurveEaseInOut];  
 graph.frame = CGRectMake(pagingView.frame.origin.x, pagingView.frame.origin.y-200, pagingView.frame.size.width*1.5, pagingView.frame.size.height*2);
[UIView commitAnimations];

}

我已将它们更改为块,更改了所有属性,但是,当我运行代码时,它所做的就是将pagingView向上移动200像素,并且界限不会改变(我也试过了)改变边界属性)。任何帮助将不胜感激,我希望这只是一个简单的事情,我错过了,但我花了几个小时寻找解决方案,我得到的最接近的潜在答案可能是它与图层属性有关?

提前致谢!

1 个答案:

答案 0 :(得分:1)

我最近有一个类似的问题,滚动视图边界在设备旋转后没有改变。我最终找到的解决方案是在故事板中向滚动视图的所有四个边添加约束。我在模拟器模式下使用autolayout,iOS7和XCode5。没有约束,滚动视图将在iPhone 3.5“模拟器中保留例如(320,480)固定大小。当我在努力诊断时非常令人沮丧。