Pau*_*lin 39
阅读Apple iPhone人机界面指南(HIG)."启动画面"不应该用于品牌或显示徽标,它应该看起来像应用程序的默认条件,因此它似乎可以快速启动.
让它在那里停留更长时间会违反HIG.
Ben*_*ieb 26
最简单的方法是创建一个UIImageView,其图像是Default.png.在您的applicationDidFinishLaunching:方法中,将该图像视图添加到您的窗口,并在您希望您的启动画面消失时隐藏它.
nev*_*ing 21
我需要这样做才能阻止显示表视图,直到数据通过网络加载.我使用了一个我在这里找到的变体:
http://michael.burford.net/2008/11/fading-defaultpng-when-iphone-app.html
在App Delegate的界面中:
@interface AppDelegate : NSObject
{
UIImageView *splashView;
}
Run Code Online (Sandbox Code Playgroud)
在实施中:
@implementation AppDelegate
- (void)applicationDidFinishLaunching:(UIApplication *)application {
// After this line: [window addSubview:tabBarController.view];
splashView = [[UIImageView alloc] initWithFrame:CGRectMake(0, 0, 320, 480)];
splashView.image = [UIImage imageNamed:@"Default.png"];
[window addSubview:splashView];
[window bringSubviewToFront:splashView];
// Do your time consuming setup
[splashView removeFromSuperview];
[splashView release];
}
Run Code Online (Sandbox Code Playgroud)
确保资源中有Default.png
Tai*_*mal 18
在你的appDelegate中,一个叫做applicationDidFinishedLaunching的方法使用一个sleep函数.在睡眠功能中传递一个数字为no.想要保持屏幕的秒数.
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
[window makeKeyAndVisible];
[window addSubview:viewController.view];
sleep(5);
return YES;
}
Run Code Online (Sandbox Code Playgroud)
我为这件事搜索了很多,每个人都给出了他们自己复杂的观点.我找不到一个让我这么做的简单方法.
吻(保持简单和聪明:)我避免了实际的进攻.
小智 14
我做的非常简单,让我的rootViewController推送一个modalViewController,从UIViewController的子类中的"Splash.nib"加载我称之为"SplashViewController".确切的电话是:
- (void) viewDidLoad {
SplashViewController *splashScreen = [[[SplashViewController alloc]
initWithNibName:@"SplashViewController" bundle:nil] autorelease];
[self presentModalViewController:splashScreen animated:NO];
//continue loading while MVC is over top...
Run Code Online (Sandbox Code Playgroud)
当您启动应用程序时,它会弹出,就像启动画面一样.然后,SplashViewController笔尖只是一个全屏UIImageView,带有一个启动png,320x480.经过一秒钟的NSTimer(其他任何事情似乎都妨碍了),它会触发timerFireMethod,这是一个只调用的自定义方法
[self dismissModalViewControllerAnimated:YES];
Run Code Online (Sandbox Code Playgroud)
然后模态VC只是向下滑动,离开我的顶级tableView.好处是,当MVC启动时,由于模态视图控制器的独立性,底层表可以继续加载.因此,我不认为这违反了HIG,实际上确实允许更快的启动.你更喜欢看什么,一张可爱的照片,或一个空的默认视图(打鼾)?
Ank*_*ava 14
即使它违反了指导原则,但如果你仍然希望这样做而不是一个更好的方法,而不是睡眠线程
//Extend the splash screen for 3 seconds.
[[NSRunLoop currentRunLoop] runUntilDate:[NSDate dateWithTimeIntervalSinceNow:3]];
Run Code Online (Sandbox Code Playgroud)
这样主线程就不会被阻塞,如果它正在侦听任何通知和其他一些网络相关的东西,它仍然会继续.
SWIFT更新:
NSRunLoop.currentRunLoop().runUntilDate(NSDate(timeIntervalSinceNow:3))
Run Code Online (Sandbox Code Playgroud)
Cha*_*son 11
是的,最简单的方法是(记得将'default.png'添加到目标 - > [yourProjectName]:在'xCode'中启动图像):
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
[NSThread sleepForTimeInterval:3.0];
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
71456 次 |
| 最近记录: |