0

我对 iPhone 开发比较陌生。我有两个视图控制器。我想在 3 秒间隔后通过淡出动画从一个屏幕导航到另一个屏幕。谁能提供有关如何进行此操作的指示?

4

4 回答 4

3

您不需要睡眠,也只能在后台进程中睡眠。看到您正在制作动画,您需要在主线程中执行此操作。

此动画将花费 3 秒并将视图 alpha 设置为 0。即淡出。然后当动画完成时,它会触发完成块。这将推送新视图。

 [UIView animateWithDuration:3.0 animations:^{
            [self.view setAlpha:0.0];
        } completion:^(BOOL finished) {
            [self.navigationController pushViewController:newView animated:YES];
     }];
于 2013-10-17T11:04:23.190 回答
1

使用 sleep 在 ios 中暂停执行,然后在您的导航控制器上推送下一个视图控制器。

您可以通过更改导航控制器动画来完成淡入淡出动画,如下所述:http ://www.davidhamrick.com/2011/12/31/Changing-the-UINavigationController-animation-style.html

于 2013-10-17T10:59:52.160 回答
0

编写一个新方法,在其中编写导航代码并从按钮操作或编写当前导航代码的位置使用“performSelector:withObject:afterDelay:”方法,延迟为3,对象为nil。

于 2013-10-17T11:06:07.667 回答
0

对于UIViewControllers 你可以使用:

transitionFromViewController:toViewController:duration:options:animations:completion:

或者transitionWithView:duration:options:animations:completion:对于UIViews。

于 2013-10-17T11:06:31.850 回答