褪色的UIView和交换机的UIView(Fade UIView and Switch UIView

2019-09-20 23:24发布

这是我的切换从一个UIView的到另一个的UIView: self.view = MyView; 我怎么会淡出为了我MySecondView

Answer 1:

您可以使用的UIView的构建转型码跨越它们之间的溶解。

[UIView transitionFromView:self.view toView:MySecondView duration:0.25 options:UIViewAnimationOptionTransitionCrossDissolve completion:^(BOOL finished) {
    // What to do when its finished.
}];

您也可以使用常规的动画选项像这样的东西。 正如我在Xcode的面前我不是我没有测试代码,但我用它所有的标签和万物而不默认的动画时间。

[UIView animateWithDuration:0.25 animations:^{
    [self.view setAlpha:0.0];
    self.view = mySecondView;
    [self.view setAlpha:1.0];
}];


Answer 2:

请注意,这不是一个好主意,做这样的事情self.view = MyView的切换画面。 到时候你到几个屏幕的时候,你的viewController将充满意大利面条代码。 您应考虑将用于管理自己的观点的新视图控制器。 你可以做褪色的一种方法如下:

  • 淡出当前视图为黑色(动画)
  • 在你要推使用viewWillAppear中淡出视图以黑色以及视图控制器
  • 推/目前认为控制器没有动画。
  • 现在用的是新呈现的视图控制器的viewDidAppear方法在视图中(与动画)褪色。


文章来源: Fade UIView and Switch UIView