嘿,伙计们!对于一个派生的UIView
以UIScrollView
为子视图的大小进行调整,我遇到了一个很大的问题。
在layoutSubviews
消息中,我设置了uiscrollview子视图的框架。UIScrollView
包含一个带有大图像的UIImageView
,该图像可以移动/收缩等。contenSize
的初始UIScrollView
是初始图像大小。
到目前为止,还不错。图像的移动和收缩效果良好。现在我必须改变UIVIEW框架(在我的应用程序中最大化UIVIEW)。我在动画块中执行此操作(beginAnimations
/commitAnimations
)。所以我设置了新的框架(它将更新宽度和高度),然后我调用[myView layoutIfNeeded]
来强制uiscrollview在我的视图的layoutSubviews
消息中更新它的框架。UIView
动画根据其新帧正确设置,如果contentOffset
的UIScrollView
当前为x 0, y 0
帧,则UIScrollView
帧将正确更新。但我的问题是:如果contentOffset
的UIScrollView
大于x 0, y 0
时,UIScrollView
将从左上角“滑入”到其最终位置。
我希望uiscrollview将其框架与父框架适当地调整大小,并将内容(在我的例子中是UIImageView
)右对齐。但我怎么能做到呢?
最佳答案
经过数小时的网络调查,我找到了解决这个问题的办法:
[UIView setAnimationBeginsFromCurrentState: YES];
这将动画所有层从当前状态。
关于objective-c - 使用UIScrollView subview 调整UIView的大小,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/5333028/