以下是我的问题的说明:
我在ViewControllers A& A中有 StarImageView 。 B在其ViewController中显示相同的图像但彼此具有不同的帧。
当轻触ViewController A中的 StarImageView 时,应用程序会将新的视图控制器推入导航控制器堆栈,同时动画到ViewController B中的最终帧。
此行为就像iPhone照片应用中的转换一样。
我使用ViewController A中的初始 StarImageView&#39> s 帧和图像初始化动画对象中的临时UIImageView,并通过对rect {{1进行硬编码将其动画化为最终帧(ViewController B中 StarImageView 的框架),并从动画完成块中的superview中删除临时UIImageView。
项目是在故事板中创建的,启用了autolayout。我想要做的是在转换期间在ViewController B中获取 StarImageView 的框架,而不是像上面那样对其进行硬编码。由于ViewContorller生命周期,我无法在动画对象中引用ViewController B中的任何子视图,因为它们尚未初始化。
此类情况是否还有其他解决方案或最佳做法?提前谢谢!
答案 0 :(得分:0)
[toViewController.view layoutIfNeeded];