【发布时间】:2015-05-24 15:08:28
【问题描述】:
这是我的问题的一个说明:
我在 ViewControllers A 和 B 中有 StarImageViews,它显示相同的图像,但在其 ViewController 中具有彼此不同的帧。
当点击 ViewController A 中的 StarImageView 时,应用会将新的视图控制器推送到导航控制器堆栈中,同时动画到 ViewController B 中的最后一帧。
这种行为就像 iPhone 照片应用程序中的过渡。
我现在怎么样了
我使用 ViewController A 中的初始 StarImageView 的 帧和图像在 animator 对象中初始化一个临时 UIImageView,并通过硬编码矩形 CGRectMake(0, 60+44, containerView.bounds.size.width, containerView.bounds.size.width)( em>StarImageView 在 ViewController B) 中,并从动画完成块中的超级视图中删除临时 UIImageView。
我希望这样做
项目在情节提要中创建并启用了自动布局。我想做的是在过渡期间在 ViewController B 中获取 StarImageView 的框架,而不是像上面那样对其进行硬编码。由于 ViewContorller 生命周期,我无法在 animator 对象中引用 ViewController B 中的任何子视图,因为它们尚未初始化。
对于这种情况,还有其他解决方案或最佳做法吗?提前致谢!
【问题讨论】:
标签: ios cocoa-touch uiviewcontroller transitions custom-transition