【问题标题】:UIScrollView bounds won't changeUIScrollView 边界不会改变
【发布时间】:2013-01-12 17:20:29
【问题描述】:

我有一个名为 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 像素,并且边界不会改变(我也尝试过也改变 bounds 属性)。任何帮助将不胜感激,我希望这只是我缺少的一件简单的事情,但我花了数小时寻找解决方案,我得到的最接近的潜在答案可能与 layer 属性有关?

提前致谢!

【问题讨论】:

    标签: xcode uiscrollview size bounds cgrect


    【解决方案1】:

    我最近遇到了类似的问题,滚动视图边界在设备旋转后没有改变。我最终找到的解决方案是在情节提要的滚动视图的所有四个侧面添加约束。我在模拟器模式下使用自动布局、iOS7 和 XCode5。如果没有约束,滚动视图将在 iPhone 3.5" 模拟器中保留例如 (320,480) 固定大小。当我努力诊断时非常令人沮丧。

    【讨论】:

    • 嗨欣,我刚读到这个。基本上这是苹果方面的一个错误,与 iOS6 中的问题有关。考虑到没有正确答案,我会将您的答案标记为已接受的答案!
    猜你喜欢
    • 1970-01-01
    • 2014-05-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-06-22
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多