0

对于我的手机应用程序,我想在 3 秒内在第一个屏幕上显示一个图像,并在没有用户操作的情况下切换到主菜单。

如何执行速度和自动切换视图?

谢谢你。

4

3 回答 3

1

用这个

[self performSelector:@selector(loadMainView) withObject:nil afterDelay:3.0];

使用loadMainView您应该开始设置常用视图的方法

于 2013-04-07T00:28:33.427 回答
1

您想要做的就是启动画面,请参阅应用程序启动(默认)图像 或参考本指南

于 2013-04-07T00:31:15.597 回答
0

我通常通过创建一个视图控制器来做到这一点,该控制器在其视图中具有一个 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 堆栈的第一个控制器

不涉及模态的类似方法是将此视图控制器推送到您的 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];
}
于 2013-04-07T00:53:05.663 回答