我正在用React native
开发应用程序
我在launchScreen.Xib
中设置了一个图像
第一次,启动屏幕运行良好。在启动屏幕隐藏之后,然后我将看到视图MainView
我在后台关闭了应用程序。过了一会儿,我点击应用程序图标再次启动应用程序
令我惊讶的是,应用程序将首先显示MainView,MainView将继续显示0.2秒。
MainView闪烁后,现在显示启动屏幕。几秒钟后,MainView再次显示
我的问题是MainView将在稍后的启动时间显示在启动屏幕之前。
在我看来,应该先显示启动屏幕,然后显示MainView。
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
NSURL *jsCodeLocation;
jsCodeLocation = [[RCTBundleURLProvider sharedSettings] jsBundleURLForBundleRoot:@"index.ios" fallbackResource:nil];
RCTRootView *rootView = [[RCTRootView alloc] initWithBundleURL:jsCodeLocation
moduleName:@"patient"
initialProperties:nil
launchOptions:launchOptions];
rootView.backgroundColor = [[UIColor alloc] initWithRed:1.0f green:1.0f blue:1.0f alpha:1];
self.window = [[UIWindow alloc] initWithFrame:[UIScreen mainScreen].bounds];
UIViewController *rootViewController = [UIViewController new];
rootViewController.view = rootView;
self.window.rootViewController = rootViewController;
[self.window makeKeyAndVisible];
return YES;
}
这是我上面在AppDelegate.m
中的代码。这是React native
的初始代码
还有一件事,MainView显示片刻,屏幕显示白色视图而不是MainViewainView次显示。
好吧,你试图实例化并用计时器显示你自己的启动屏幕(不好!),同时也要求iOS做一个。只需去掉大部分或全部代码。使用标准的方法,有一个启动故事板,然后在appDelegate中正常设置主VC。
使用这个计时器是对每个应用程序启动的时间做出假设,iOS无法保证。