等待autolayout执行UIView动画

时间:2017-07-12 09:09:02

标签: ios objective-c animation uiview

我有一个UIView从.xib文件加载,我想在显示视图时立即执行动画。

我想要复制ImageView并使用该副本执行动画,问题在于,因为我在willMove(toWindow:)方法中调用了动画,所以复制的ImageView帧在自动布局之前创建,导致一种奇怪的行为。

我已尝试在动画前调用layoutIfNeeded(),但是这样就不会执行动画。

提前致谢!

1 个答案:

答案 0 :(得分:1)

在显示视图时? 尝试通过UIView管理UIViewController并在viewController中的func viewDidAppear(_ animated: Bool)中执行动画

下面的示例如何在当前viewController的视图中插入新uiView中管理的UIViewController

self.view.addSubview(myNewViewControler.view)

然后在NewViewController中你可以通过委托回调viewDidAppear中当前呈现的viewController并最终执行动画