使用UIScrollView子视图调整UIView的大小

时间:2011-03-16 23:24:44

标签: objective-c animation uiview uiscrollview

嘿伙计们!关于使用UIView作为子视图调整派生UIScrollView的大小,我遇到了一个大问题。

layoutSubviews消息中

我设置了UIScrollView子视图的框架。 UIScrollView包含UIImageView,其中包含可移动/收藏的大图像,等等。 contenSize的初始UIScrollView是初始图片尺寸。

到目前为止,这么好。移动和捏图像效果很好。现在我必须改变UIView框架(在我的应用程序中最大化UIView)。我在动画块中做到这一点(beginAnimations / commitAnimations)。所以我设置新框架(将更新宽度和高度)然后我调用[myView layoutIfNeeded]强制UIScrollView在我的视图的layoutSubviews消息中更新其框架。

UIView动画更正为其新框架,如果contentOffset的{​​{1}}当前为UIScrollView,则x 0, y 0框架将正确更新。但这是我的问题:如果UIScrollView的{​​{1}} 大于 contentOffsetUIScrollView将从左上角“滑入”到其最后的位置。

我希望UIScrollView使用父框架正确调整其框架的大小,并将内容(在我的情况下为x 0, y 0)对齐。但我怎么能实现呢?

1 个答案:

答案 0 :(得分:10)

经过数小时的网络研究后,我找到了解决这个问题的方法:

[UIView setAnimationBeginsFromCurrentState: YES];

这将为当前状态下的所有图层设置动画。