我对 iPhone 开发比较陌生。我有两个视图控制器。我想在 3 秒间隔后通过淡出动画从一个屏幕导航到另一个屏幕。谁能提供有关如何进行此操作的指示?
问问题
986 次
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
对于UIViewController
s 你可以使用:
transitionFromViewController:toViewController:duration:options:animations:completion:
或者transitionWithView:duration:options:animations:completion:
对于UIView
s。
于 2013-10-17T11:06:31.850 回答