2012-02-26 11 views
14

Ho bisogno di aiuto con le immagini di avvio su iphone. Nelle impostazioni del progetto su xcode esiste un'opzione per aggiungere immagini di avvio. L'ho aggiunto e viene visualizzato per 2 secondi ... Voglio che sia di più ... Come posso cambiarlo? Grazie :)Rendere più lungo l'immagine di avvio xcode

+11

Non dovresti farlo. Se mostri l'immagine predefinita più a lungo del necessario, sembrerà che la tua app sia lenta, e questa è una brutta esperienza utente. Hanno già la tua app, non c'è bisogno di strofinare il tuo marchio sul volto dell'utente. – EmilioPelaez

+8

Mantenere più a lungo l'immagine di avvio è un ottimo modo per raccogliere recensioni a 1 stella. –

+0

Non intendo più a lungo come in 10 secondi ... solo 5 ... 3 secondi in più – Matan

risposta

12

si può anche farlo appliying seguente codice nel

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

Innanzitutto creare il viewcontroller impostare l'immagine ciò che si vuole mostrare come splash screen/immagine Launc ..

Presente che vista nel metodo applicationDidFinishLaunching: con animato: No

e scrivere seguente codice nel tuo un'altra vista che la presentazione di

-(void) viewWillAppear:(BOOL)animated 
{ 

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

} 



-(void) dismiss1 
{ 

     [self dismissModalViewControllerAnimated:NO]; 

} 

Se si desidera visualizzare la schermata iniziale si apre ogni volta app , quindi presenta il splash viewcontroller nel metodo applicationDidBecomeActive

+0

L'immagine di avvio non viene sempre visualizzata. Voglio mostrare l'immagine di avvio quando apro l'applicazione Come posso impostarlo. –

+0

il codice precedente serve per mostrare l'immagine di avvio per un tempo più lungo. Puoi usare apple default aggiungendo Default.png nella tua directory delle risorse. In fase di esecuzione trova automaticamente Default.png e mostra quando si apre l'app. – Rupesh

+0

Risposta su "La mia immagine di avvio non viene sempre visualizzata" è che l'app non viene uccisa, quando hai ucciso l'app dal processo in background. quindi solo mostrerà il Default.png – Rupesh

0

rendere la visualizzazione predefinita ... hanno una visualizzazione dell'immagine stessa immagine di default con ... e poi lanciare la nuova vista (applicazione principale) dopo il tempo specifico utilizzando [self performselector methods

1

immagini di lancio sono lì per rendere la tua app davvero reattiva e dovrebbe essere un'istantanea dell'interfaccia utente prima di qualsiasi elemento su di essa come tabBar, ecc. Apple non vuole davvero che tu li usi come schermate iniziali.

Detto questo, un sacco di gente e per raggiungere questo risultato, il delegato applicazione ha bisogno di mettere la stessa immagine sullo schermo come si avvia immagine e poi si può ritardare il lancio la vostra applicazione principale con performSelector:withObject:afterDelay:

+0

ciao ..cosa dovrei scrivere dopo il selector performSelector: e dopo withObject: im new in xcode – Matan

+0

Il selector è il metodo che si desidera eseguire successivamente nella sequenza e si utilizza @selector (myMethod) dopo the performSelector. WithObject è un oggetto che puoi passare al metodo come argomento, se non hai argomenti allora usa nil. Usa NSNumber se il tuo argomento è un valore. Il ritardo è il numero di secondi da attendere prima di eseguirlo. –

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

fantastico! 2 secondi sono sufficienti per mettere in mostra il marchio e non pisciare degli utenti. Molto meglio di un batter d'occhio! tnx – Maziyar

+3

NON FARE. Molto brutto. – rmaddy

0

puoi mettere un UIImageView nella tua prima visualizzazione caricata. dicono, in viewDidLoad di 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

si può raggiungere questo obiettivo con l'aggiunta di backgroundColor di "Default.png" nella finestra prima finestra assegnando a RootViewController e subito dopo pochi secondi assegnare RootViewController alla finestra e impostare il colore di sfondo della finestra al suo valore predefinito .

come questo -

- (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

È possibile utilizzare il metodo sleep().

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

NON FARE. Molto brutto. – rmaddy

1

In Swift

func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool { 
     Thread.sleep(forTimeInterval: 2.0) 
     return true 
} 
Problemi correlati