对于我的手机应用程序,我想在 3 秒内在第一个屏幕上显示一个图像,并在没有用户操作的情况下切换到主菜单。
如何执行速度和自动切换视图?
谢谢你。
用这个
[self performSelector:@selector(loadMainView) withObject:nil afterDelay:3.0];
使用loadMainView
您应该开始设置常用视图的方法
您想要做的就是启动画面,请参阅应用程序启动(默认)图像 或参考本指南
我通常通过创建一个视图控制器来做到这一点,该控制器在其视图中具有一个 UIImageView 和启动图像。
您可以通过这种方式将其作为模式视图控制器呈现在您的 rootViewController 之上。在 AppDelegate 中application:didFinishLaunchingWithOptions:
,您通过调用来呈现模式
// rootViewController is the view controller attached to the UIWindow
[rootViewController presentViewController:imageViewController animated:NO completion:nil];
在 imageViewController 中,您可以这样做:
- (void)dismiss {
// You can animate it or not, depending on your needs
[self.presentingViewController dismissViewControllerAnimated:YES completion:nil];
}
- (void)viewDidApper {
[self performSelector:@selector(dismiss) withObject:nil afterDelay:AMOUNT_OF_TIME];
}
不涉及模态的类似方法是将此视图控制器推送到您的 UINavigationController 中(如果您使用它)
在 AppDelegate 中application:didFinishLaunchingWithOptions:
,您必须使用类似这样的设置导航控制器的第一个控制器
UINavigationController * navController = [[UINavigationController alloc] initWithRootViewController:imageViewController];
self.window.rootViewController = navController;
[self.window makeKeyAndVisible];
在 imageViewController 中,您可以这样做:
- (void)dismiss {
// Here you should init your nextViewController, the real "home" of the app
....
// Then you can present it. You can animate it or not, depending on your needs.
// I prefer to replace the whole stack, since user shouldn't go back to the image screen.
[self.navigationController setViewControllers:@[nextViewController] animated:YES];
}
- (void)viewDidApper {
[self performSelector:@selector(dismiss) withObject:nil afterDelay:AMOUNT_OF_TIME];
}