2015-08-18 11 views
5

questa è una libreria aperta su github che desidero utilizzare nella mia app.Problema di impostazione dell'immagine di sfondo (libreria GHWalkThrough su github)

https://github.com/GnosisHub/GHWalkThrough

c'è un metodo per impostare bg vista:

- (UIImage*) bgImageforPage:(NSInteger)index 
{ 
    UIImage* image = [UIImage imageNamed:@"bgimage"]; 
    return image; 
} 

e volevo aggiungere impostare un'immagine diversa per ogni indice, quindi ho fatto questo:

- (UIImage*) bgImageforPage:(NSInteger)index { 

    UIImage* image; 

    if (index == 0) { 
     image = [UIImage imageNamed:@"screen 1"]; 
    } else if (index == 1) { 
     image = [UIImage imageNamed:@"screen 2"]; 
    } else if (index == 2) { 
     image = [UIImage imageNamed:@"screen 3"]; 
    } else if (index == 3) { 
     image = [UIImage imageNamed:@"screen 4"]; 
    } 

    return image; 
} 

Risultato:

ogni volta che viene caricata la vista, c'è una chiara bg e se faccio scorrere sinistra all'indice 1 Ottengo lo schermo 1> e se scorro verso sinistra per l'indice 2, 3 & 4 lo schermo bg rimane 1 ...

Qualcuno può vedere cosa c'è che non va qui?

+0

Hai provato a impostare un punto di interruzione in tale metodo e scoprire quali valori di indice ricevi? Tutte le immagini fornite sono realmente presenti nel patrimonio delle tue immagini? –

+0

esegue questo codice: (UIImage *) bgImageforPage: (NSInteger) index {UIImage * image = [UIImage imageNamed: @ "screen 1"]; restituisci immagine;} funziona correttamente con una singola immagine? – Shoaib

risposta

1

Lei non sembra per aggiornare index, il che significa che resta a 0.

Se rimane a 0, l'immagine sarà sempre "screen 1".

+0

non è amico –

+0

un metodo delegato che mi dà l'indice quando la pagina è stata spostata –

+0

Ciò significa che l'indice non viene aggiornato correttamente quando la pagina viene strisciata. – VonC

3

penso che si sia verificato un errore minore dal codice.

- (UIImage*) bgImageforPage:(NSInteger)index 
{  
    NSString* imageName =[NSString stringWithFormat:@"bg_0%ld.jpg", index+1]; // you have manually add name but not increment index 
    UIImage* image = [UIImage imageNamed:imageName]; 
    return image; 
} 

se non è possibile utilizzare il codice in basso & codice superiore uso che ha ottenuto il risultato o lo stesso come utilizzare il codice in basso a codice superiore & uso poi anche ottenuto lo stesso risultato.

- (UIImage*) bgImageforPage:(NSInteger)index 
{ 

    NSString* imageName =[NSString stringWithFormat:@"bg_0%ld.jpg", index+1]; 
    UIImage* image;// = [UIImage imageNamed:imageName]; 
    if (index == 0) { 
     image = [UIImage imageNamed:imageName]; 
    } else if (index == 1) { 
     image = [UIImage imageNamed:imageName]; 
    } else if (index == 2) { 
     image = [UIImage imageNamed:imageName]; 
    } else if (index == 3) { 
     image = [UIImage imageNamed:imageName]; 
    } 


    return image; 
} 

Si prega di aggiungere il nome dell'immagine nella cartella immagine app come di seguito.

(. Nota: il tuo nome dell'immagine impostata al di sotto, come nel progetto)

Esempio Nome immagine: -

enter image description here

vostra condizione saggio avete ottenuto nuovo indice, ma non sempre le immagini ma quando imposti il ​​nome delle immagini come quello delle immagini superiori, &, hai le tue immagini come indice.

Problemi correlati