[英]Resizing UIView with UIScrollView subview
我有一个关于使用UIScrollView
作为子视图调整派生UIView
大小的大问题。
在layoutSubviews
消息中,我设置了 UIScrollView 子视图的框架。 UIScrollView
包含一个带有大图像的UIImageView
,可以移动/捏合等等。 UIScrollView
的初始contenSize
是初始图像大小。
到现在为止还挺好。 图像的移动和捏合效果很好。 现在我必须更改 UIView 框架(在我的应用程序中最大化 UIView)。 我在动画块( beginAnimations
/ commitAnimations
)中这样做。 因此,我设置了新框架(将更新宽度和高度),然后调用[myView layoutIfNeeded]
强制 UIScrollView 在我的视图的layoutSubviews
消息中更新其框架。
UIView
对其新框架进行动画处理,如果UIScrollView
的contentOffset
当前为x 0, y 0
则UIScrollView
框架将正确更新。 但这是我的问题:如果UIScrollView
的contentOffset
大于x 0, y 0
UIScrollView
将从左上角“滑入”到其最终位置。
我希望 UIScrollView 使用父框架正确调整其框架的大小,并将内容(在我的情况下为UIImageView
)对齐。 但我怎么能做到这一点呢?
经过数小时的网络研究,我找到了解决此问题的方法:
[UIView setAnimationBeginsFromCurrentState: YES];
这将从当前状态为所有图层设置动画。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.