为iPhone应用程序添加徽标
我想添加一个徽标视图作为iPhone应用程序午餐。我的代码如下为iPhone应用程序添加徽标,iphone,Iphone,我想添加一个徽标视图作为iPhone应用程序午餐。我的代码如下 - (void)applicationDidFinishLaunching:(UIApplication *)application { UIImage image = [[UIImage alloc] imageWithContentsOfFile:@"1.jpg"]; UIImageView view = [[UIImageView alloc] initWithImage:image];
- (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秒,直到它被移除,从而显示导航器视图
希望这有帮助
SamPablo是对的-您只需使用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作为初始屏幕,但这是事实。这完全取决于你在开发什么。