2012-02-26 4 views
14

Мне нужна помощь при запуске изображений на iphone. В настройках проекта на xcode есть возможность добавлять изображения запуска. Я добавил его, и он отобразится в течение 2 секунд ... Я хочу, чтобы это было больше ... Как я могу его изменить? Спасибо :)Создание изображения изображения запуска дольше xcode

+11

Вы не должны делать это. Если вы покажете изображение по умолчанию дольше, чем необходимо, это будет похоже на то, что ваше приложение работает медленно, и это плохой пользовательский интерфейс. У них уже есть ваше приложение, вам не нужно тереть свой бренд на лице пользователя. – EmilioPelaez

+8

Сохранение изображения запуска дольше - отличный способ собрать 1-звездные отзывы. –

+0

Я не имею в виду больше, чем через 10 секунд ... только 5 ... 3 секунды дольше – Matan

ответ

12

вы также можете сделать это appliying следующий код в

-(BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions: (NSDictionary *)launchOptions 
{ 
     [NSThread sleepForTimeInterval:2.0]; // Used For Showing Splash Screen for More Time 
} 

Сначала создайте ViewController установить изображение, что вы хотите, чтобы показать, как заглавный экран/Launc изображение ..

Представьте, что посмотреть в методе applicationDidFinishLaunching: с анимированными: Нет

и написать следующий код в другой точке зрения, что ваше представление

-(void) viewWillAppear:(BOOL)animated 
{ 

     [self performSelector:@selector(dismiss1) withObject:nil afterDelay:5.0f]; 
     [super viewWillAppear:animated]; 

} 



-(void) dismiss1 
{ 

     [self dismissModalViewControllerAnimated:NO]; 

} 

Если вы хотите, чтобы показать заставку открывается каждый раз, когда приложение , затем представите диспетчер представлений с помощью splashscreen в методе applicationDidBecomeActive

+0

Мое изображение запуска не всегда появляется. Я хочу показать изображение запуска при открытии приложения. Как я могу установить это. –

+0

приведенный выше код предназначен для показа стартового изображения в течение более длительного времени. Вы можете использовать Apple default, добавив Default.png в свой каталог ресурсов. Во время выполнения он автоматически находит Default.png и показывает, когда приложение открывается. – Rupesh

+0

Отвечать о том, что «мое изображение запуска не всегда появляется» - это приложение не убивается, когда вы убили приложение из фонового процесса. то только он покажет Default.png – Rupesh

0

делает вид по умолчанию ... есть вид изображения с таким же по умолчанию изображения ... а затем запустить новый вид (главное приложение) после определенного времени с использованием [self performselector methods

1

Launch изображения есть чтобы ваше приложение выглядело очень отзывчивым и должно быть моментальным снимком вашего пользовательского интерфейса перед любыми элементами на нем, такими как tabBars и т. д. Apple не хочет, чтобы вы использовали их в качестве заставки.

Тем не менее, много людей и для достижения этого результата, ваш App делегат должен поместить такое же изображение на экране, как вы запустите файл, а затем вы можете отложить запуск вашего основного приложения с performSelector:withObject:afterDelay:

+0

привет ..что я должен написать после того, как селектор выполнит выбор: и после параметра withObject: im new для xcode – Matan

+0

Селектор - это метод, который вы хотите запустить следующим в последовательности, и вы используете @selector (myMethod) после выполнения функции выбора. Объект withObject - это объект, который вы можете передать методу в качестве аргумента, если у вас нет аргументов, тогда используйте nil. Используйте NSNumber, если ваш аргумент является значением. Задержка - это количество секунд ожидания перед запуском. –

18
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {  

    /*this will pause main thread for x interval seconds. 
    put on the top of application:didFinishLaunchingWithOptions, so it will not 
    proceed to show window until sleep interval is finished.*/ 

    [NSThread sleepForTimeInterval:2]; //add 2 seconds longer. 
    //other code.... 
} 
+5

потрясающий! 2 секунды достаточно, чтобы показать бренд, а не мочу пользователей. Лучше, чем мгновение ока! tnx – Maziyar

+3

НЕ ДЕЛАЙТЕ это. Очень плохо. – rmaddy

0

вы можете поместить UIImageView в свой первый загруженный вид. скажем, в viewDidLoad из FirstViewController

-(void)viewDidLoad{ 
appLogo = [UIImageView alloc]initWithImage:[UIImage imageNamed:@"companyLogo.png"]]; 
[appLogo setFrame:CGRectMake..... ]; 
self.view addSubView:appLogo]; 

[self performSelector:@selector(hideAppLogo) withObject:nil afterDelay:1000000 :) ]; 
} 

-(void)hideAppLogo{ 
[appLogo setHidden:YES]; 
//let the user use your app now! 
} 
0

Этого можно добиться путем добавления BackgroundColor из «Default.png» в окне перед назначением окно RootViewController и только через несколько секунд назначить RootViewController к окну и установить цвет фона окна его по умолчанию ,

как это -

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions{ 
[self performSelector:@selector(openLoginScreen) withObject:nil afterDelay:0.5]; 
self.window.backgroundColor = [UIColor colorWithPatternImage:[UIImage imageNamed:@"Default.png"]]; 
[self.window makeKeyAndVisible]; 
} 

-(void)openLoginScreen{ 
self.window = [UINavigation .... "YOUR ROOT VIEWCONTROLLER"];  
} 
2

Вы можете использовать метод sleep().

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions 
{ 
    // Override point for customization after application launch. 
    sleep(10); 
    return YES; 
} 
+2

НЕ ДЕЛАЙТЕ. Очень плохо. – rmaddy

1

В Swift

func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool { 
     Thread.sleep(forTimeInterval: 2.0) 
     return true 
} 
Смежные вопросы