Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/iphone/39.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
为iPhone应用程序添加徽标_Iphone - Fatal编程技术网

为iPhone应用程序添加徽标

为iPhone应用程序添加徽标,iphone,Iphone,我想添加一个徽标视图作为iPhone应用程序午餐。我的代码如下 - (void)applicationDidFinishLaunching:(UIApplication *)application { UIImage image = [[UIImage alloc] imageWithContentsOfFile:@"1.jpg"]; UIImageView view = [[UIImageView alloc] initWithImage:image];

我想添加一个徽标视图作为iPhone应用程序午餐。我的代码如下

- (void)applicationDidFinishLaunching:(UIApplication *)application
{
    UIImage image = [[UIImage alloc] imageWithContentsOfFile:@"1.jpg"];
        UIImageView view = [[UIImageView alloc] initWithImage:image];
        [window addSubViews:view];

        [NSThread sleepForIntervalTime:10];
        [view removeFromSubview];
    [window addSubview: navigationController.view];
    [window makeKeyAndVisible];
}
但模拟器不能显示我想要的。只显示navigationController的视图。 我认为原因是iPhone在“ApplicationdFinishLaunching”之后呈现第一个视图
有其他解决方案吗?

只需将您想要作为徽标的图像添加到您的项目中,名称为:Default.png

它将自动成为应用程序的启动屏幕


你的方法行不通
applicationdFinishLaunching
代理在完成所有加载后运行。此外,延迟10秒并不准确,因为应用程序在某些设备上的加载速度可能比在其他设备上更快。

只需将您想要作为徽标的图像添加到项目中,名称为:Default.png

它将自动成为应用程序的启动屏幕


你的方法行不通
applicationdFinishLaunching
代理在完成所有加载后运行。此外,延迟10秒是不准确的,因为应用程序在某些设备上的加载速度可能比其他设备快。

Pablo是正确的-您可以使用Default.png进行此操作

但是,由于两个原因,您的代码永远不会工作

(一)

应用程序的主线程是UI线程—负责更新界面的线程,这是运行
ApplicationIDFinishLaunching:
的线程

如果只调用
[NSThread sleepForIntervalTime:10]
线程将休眠。然而,这也意味着当线程处于睡眠状态时,UI不会得到更新。然后,当您调用
[view removeFromSuperview]
时,它将删除图像并继续。你永远也看不到这张照片

要使代码正常工作,您应该执行以下操作:

- (void)applicationDidFinishLaunching:(UIApplication *)application
{
    [window addSubview: navigationController.view];

    UIImage *image = [UIImage imageWithContentsOfFile:@"1.jpg"];
    UIImageView *view = [[UIImageView alloc] initWithImage:image];
    [window addSubView:view];
    [view release];

    [NSTimer scheduledTimerWithTimeInterval:10 target:self selector:@selector(removeImage:) userInfo:view repeats:NO];
    [window makeKeyAndVisible];
}


- (void) removeImage:(NSTimer *)timer {
    UIImageView *view = (UIImageView *)timer.userInfo;
    [view removeFromSuperview];
}
此代码将显示图像10秒钟,然后将其删除。但是,如果您只想在启动时使用图像,那么使用Default.png绝对是一种方法

(二)

您已经在图像前面添加了导航器视图-在上面的代码中,我已经将导航器视图添加到UIImage之前。这意味着图像将在导航器前面延迟10秒,直到它被移除,从而显示导航器视图

希望这有帮助


Sam

Pablo是对的-您只需使用Default.png即可

但是,由于两个原因,您的代码永远不会工作

(一)

应用程序的主线程是UI线程—负责更新界面的线程,这是运行
ApplicationIDFinishLaunching:
的线程

如果只调用
[NSThread sleepForIntervalTime:10]
线程将休眠。然而,这也意味着当线程处于睡眠状态时,UI不会得到更新。然后,当您调用
[view removeFromSuperview]
时,它将删除图像并继续。你永远也看不到这张照片

要使代码正常工作,您应该执行以下操作:

- (void)applicationDidFinishLaunching:(UIApplication *)application
{
    [window addSubview: navigationController.view];

    UIImage *image = [UIImage imageWithContentsOfFile:@"1.jpg"];
    UIImageView *view = [[UIImageView alloc] initWithImage:image];
    [window addSubView:view];
    [view release];

    [NSTimer scheduledTimerWithTimeInterval:10 target:self selector:@selector(removeImage:) userInfo:view repeats:NO];
    [window makeKeyAndVisible];
}


- (void) removeImage:(NSTimer *)timer {
    UIImageView *view = (UIImageView *)timer.userInfo;
    [view removeFromSuperview];
}
此代码将显示图像10秒钟,然后将其删除。但是,如果您只想在启动时使用图像,那么使用Default.png绝对是一种方法

(二)

您已经在图像前面添加了导航器视图-在上面的代码中,我已经将导航器视图添加到UIImage之前。这意味着图像将在导航器前面延迟10秒,直到它被移除,从而显示导航器视图

希望这有帮助


Sam

请记住,苹果特别建议不要在应用程序发布时使用闪屏。相反,您应该有一个启动映像,它看起来像您的UI的基本版本。这有助于给用户一种印象,即您的应用程序可以快速启动。阅读《人机界面指南》了解更多信息。虽然几乎每个游戏都使用Default.png作为初始屏幕,但这是事实。这完全取决于你在开发什么。请记住,苹果特别建议不要在应用程序发布时使用闪屏。相反,您应该有一个启动映像,它看起来像您的UI的基本版本。这有助于给用户一种印象,即您的应用程序可以快速启动。阅读《人机界面指南》了解更多信息。虽然几乎每个游戏都使用Default.png作为初始屏幕,但这是事实。这完全取决于你在开发什么。