objective-c - 使用 UIScrollView subview 调整 UIView 的大小

标签 objective-c animation uiview uiscrollview

关于使用 UIScrollView 作为 subview 调整派生 UIView 的大小,我有一个大问题。

layoutSubviews 消息中,我设置了 UIScrollView subview 的框架。 UIScrollView 包含一个带有大图像的 UIImageView,可以移动/收缩等。 UIScrollView 的初始contenSize 为初始图片大小。

到目前为止,还不错。图像的移动和捏合效果很好。现在我必须更改 UIView 框架(在我的应用程序中最大化 UIView)。我在动画 block 中执行此操作 (beginAnimations/commitAnimations)。所以我设置了新框架(这将更新宽度和高度),然后我调用 [myView layoutIfNeeded] 强制 UIScrollView 在 layoutSubviews 消息中更新其框架我的看法。

如果 UIScrollViewcontentOffset 当前是 x 0, y 0

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

我希望 UIScrollView 根据父框架正确调整其框架的大小并正确对齐内容(在我的例子中是 UIImageView)。但我怎样才能做到这一点?

最佳答案

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

[UIView setAnimationBeginsFromCurrentState: YES];

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

关于objective-c - 使用 UIScrollView subview 调整 UIView 的大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5333028/

相关文章:

ios - 如果json数据为零,如何在tableview中隐藏单元格

iphone - 使用 UINib/指针擅离职守的奇怪问题

ios - iOS 中选择器 View 中的 nsurlconnection

ios - popViewController 动画 :YES not animating

ios - 呈现 View Controller 以模态方式重置当前 View

iOS。我可以在 Interface Builder 中为 UIScrollView 制作自定义 View 吗?

ios - 内容拥抱优先级不适用于 UIStackView 中的自定义 View 和标签

objective-c - NSRunAlertPanel + 格式字符串不是字符串文字(可能不安全)

c++ - 从 Sprite 表中的 sfml 动画 Sprite

ios - 带有分页 ScrollView 的自定义页面控件