2

是否允许通过代码设置启动画面图像。
因为我需要多次更改它?

4

5 回答 5

11

你不能。

您必须在您的应用程序的默认 iOS 之一之后创建自己的启动画面。

于 2015-05-04T10:36:54.190 回答
4

当显示启动屏幕时,您的应用程序将处于加载状态。

在显示启动屏幕时,甚至- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions 不会完全执行。

所以很明显,您无法访问您的应用程序,因此此时您无法执行任何代码。

于 2015-05-04T10:39:27.957 回答
2

不,你不能。对不起!!!

iphone 应用程序的默认图像必须是捆绑包中的固定图像文件。您不能动态更改它。

尽管您可以添加动画以使其具有创意。

于 2015-05-04T10:40:55.763 回答
2

应用启动时,您只能将单个图像加载为启动画面。

但是,如果您想以编程方式启动任何图像..在应用程序加载主屏幕之前,如启动屏幕..您可以使用如下

AppDelegate 的 didFinishLaunchingWithOptions 委托方法..

UIImage *splashImage = [UIImage imageNamed:@"Splash_Img.png"];
    UIImageView *splashImageView = [[UIImageView alloc] initWithImage:splashImage];
    splashImageView.frame=[[UIScreen mainScreen] bounds];
    [self.window.rootViewController.view addSubview:splashImageView];
    [self.window.rootViewController.view bringSubviewToFront:splashImageView];
    [UIView animateWithDuration:1.5f
                          delay:2.0f
                        options:UIViewAnimationOptionCurveEaseInOut
                     animations:^{
                         splashImageView.alpha = .0f;
                         CGFloat x = -60.0f;
                         CGFloat y = -120.0f;
                         splashImageView.frame = CGRectMake(x,
                                                            y,
                                                            splashImageView.frame.size.width-2*x,
                                                            splashImageView.frame.size.height-2*y);
                     } completion:^(BOOL finished){
                         if (finished) {
                             [splashImageView removeFromSuperview];
                         }
                     }];

上面的代码不是闪屏。但它会在主屏幕加载之前加载。

于 2015-05-04T10:52:23.873 回答
0

不,您不能以编程方式更改启动画面、应用程序图标或应用程序名称。
它们都保持不变,无法更改。
但是您可以使用创建自定义启动画面UIImageView并以编程方式对其进行更改。

于 2015-05-04T11:49:57.397 回答