UIView.transition(from:to :)无法按预期工作

时间:2017-05-09 07:10:39

标签: ios swift uiview swift3 uiviewanimationtransition

我对UIView.transition有一个奇怪的问题(从:到:) 我的设置如下所示:

  • UIView(root)
    • UIView(前面,isHidden false)
    • UIImageView(返回,isHidden true)

此视图位于我的视图控制器中 现在,我想使用这种方法将前面翻到后面:

self.back.isHidden = false
UIView.transition(from: self.front, to: self.back, duration: 1, options: [.transitionFlipFromLeft, .showHideTransitionViews], completion: nil)

我正在使用isHidden.showHideTransitionViews,因为我不希望从视图层次结构中删除前视图。

然而,目前的结果是翻转动画正确运行,但前面保持可见 现在,当我通过XCode调试View层次结构时,会发生一些奇怪的事情:

  • 在这个过程中,视图得到了一定程度的重新评估,突然间,背面可见(我想要的是什么)
  • 前面不再是视图层次结构(不是我想要的)

我无法通过向setNeedsDisplay()layoutSubViews()layoutIfNeeded()调用任何视图来重现此行为,可能是父级或子级。

我在XCode中创建了一个新项目并在那里尝试了 - >它按预期立即工作。

因为我做过(至少我是这么认为)我以前所做的一切,所以我不知道为什么它在我的主项目中没有按预期工作。
顺便说一下,我没有对这些视图中的任何一个使用任何约束。

编辑:现在,我发现了一些事情。当我第二次播放动画时,从第二个动画的开始突然可以看到背面。它似乎在我看来,好像有什么东西阻止第一个动画正确显示视图。他们似乎处于正确的状态,但没有得到正确的绘画

0 个答案:

没有答案