【问题标题】:Resizing UIView with UIScrollView subview使用 UIScrollView 子视图调整 UIView 的大小
【发布时间】:2011-07-17 00:34:11
【问题描述】:

关于以UIScrollView 作为子视图调整派生UIView 的大小,我遇到了一个大问题。

layoutSubviews 消息中,我设置了 UIScrollView 子视图的框架。 UIScrollView 包含一个 UIImageView 带有可以移动/捏合等的大图像。 UIScrollView 的初始contenSize 是初始图像大小。

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

UIView 的动画与其新帧正确,如果UIScrollViewcontentOffset 当前为x 0, y 0UIScrollView 帧将正确更新。但这是我的问题:如果UIScrollViewcontentOffset 大于 x 0, y 0 UIScrollView 将从左上角“滑入”到其最终位置。

我希望 UIScrollView 正确调整其框架与父框架的大小并将内容(在我的情况下为 UIImageView)对齐。但我怎样才能做到这一点呢?

【问题讨论】:

标签: objective-c animation uiview uiscrollview


【解决方案1】:

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

[UIView setAnimationBeginsFromCurrentState: YES];

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

【讨论】:

  • 您可以将此标记为答案(即使它是您自己的),这将表明问题已解决。
猜你喜欢
  • 2014-09-02
  • 2013-04-12
  • 2012-08-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-01-22
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多