【问题标题】:Wait for autolayout to perform UIView animation等待自动布局执行 UIView 动画
【发布时间】:2017-07-12 09:09:01
【问题描述】:

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

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

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

提前致谢!

【问题讨论】:

  • 您需要在源代码中显示更多细节。

标签: ios objective-c animation uiview


【解决方案1】:

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

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

self.view.addSubview(myNewViewControler.view)

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

【讨论】:

  • 我不想展示一个新的UIViewController,因为它是一个非常简单的UIView
  • 您不必“呈现”新的 UIViewController,您必须将子视图作为 viewController 进行管理
  • 嗨@ddb,直到今天才能处理它,但我不知道我是否理解它。我有一个 viewControllerA,我在其中显示我的 UIView(应该用 viewControllerB 控制),但由于我从来没有做过,所以我不知道要遵循什么步骤,请你指导我吗?
  • 1.您应该使用 XIB 创建一个新的 ViewControllerB,然后您应该将 UIView 放在 ViewControllerB 的 xib 中并对其建模
猜你喜欢
  • 1970-01-01
  • 2014-02-05
  • 1970-01-01
  • 2019-06-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多