我想在每次打开我的应用时更改启动图。我在谷歌上搜索了两种方法:
在plist配置文件中设置我的启动图名称,然后每次替换图片文件。
每次应用程序启动时删除plist中的启动图属性,显示另一个ImageView或UIView,并更改ImageView的图像;
第一种方式,有些人说苹果可能会拒绝该应用程序或不予批准。这种情况可能发生吗?
第二种方式,在我的应用程序配置和加载后需要很长时间,并且在加载过程中应用程序会显示黑屏。
我想在每次打开我的应用时更改启动图。我在谷歌上搜索了两种方法:
在plist配置文件中设置我的启动图名称,然后每次替换图片文件。
每次应用程序启动时删除plist中的启动图属性,显示另一个ImageView或UIView,并更改ImageView的图像;
第一种方式,有些人说苹果可能会拒绝该应用程序或不予批准。这种情况可能发生吗?
第二种方式,在我的应用程序配置和加载后需要很长时间,并且在加载过程中应用程序会显示黑屏。
apks
的。APKs
是安卓而不是 iOS。如果有错误将会删除。 - PopeyeDefault.png
,它是iOS项目主包中的启动图像名称,不允许编辑/修改主包中的文件。Default.png
Default@2x.png
Default-568h.png or Default-568h@2x.png
Default-Portait.png
Default-Portait@2x.png
Default~ipad.png
Default-Portait~ipad.png
Default@2x~ipad.png
etc
启动图像本身不可更改,因为它在您的捆绑包中。最好的方法是尽快显示UIImageView。
这意味着:applicationDidFinishLaunching应该只显示窗口和一个图像视图,并稍后安排真正的工作。尽快返回YES - 这样,iOS将认为您的应用程序已启动并显示带有uiimageview的窗口。
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
// show the main window, overlay with splash screen + alpha dissolve...
UIImageView *splashScreen = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"Default.png"]];
[self.window addSubview:splashScreen];
[self.window makeKeyAndVisible];
// in the method do all you normally do
[self performSelector:@selector(delayedLaunch:) withObject:options afterDelay:0.1];
[UIView animateWithDuration:0.3 animations:^{splashScreen.alpha = 0.0;}
completion:(void (^)(BOOL)) ^{
[splashScreen removeFromSuperview];
}
];
return YES;
}