2015-03-10 17 views
9

Desidero impostare il mio UIImage su WKInterfaceImage, ma il simulatore mostra solo la schermata nera. Funziona OK con il metodo setImageNamed: NSString*, ma non con setImage: UIImage*. Il mio file1.png viene aggiunto alla cartella "(App Name) WatchKit App".WatchKit: impostazione di WKInterfaceImage a livello di programmazione

- (void)willActivate { 
    [self.imageView1 setImage: [UIImage imageNamed: @"file1"]]; // doesn't work 
    [self.imageView1 setImageNamed: @"file1"]; // works OK 
    [super willActivate]; 
} 

Grazie!

risposta

1

Chiamare [UIImage imageNamed:imageName] dal proprio interno restituirà sempre nil per un'immagine memorizzata nella cache. L'immagine è memorizzata nella cache dell'orologio, non nella tua estensione.

Una volta memorizzata nella cache un'immagine, è possibile impostare una WKInterfaceImage utilizzando il metodo [WKInterfaceImage setImageNamed:].

12

Tutto funziona come previsto.

file1 è nella cartella App WatchKit, il che significa che è sull'orologio .

Chiama il carico [UIImage imageNamed:] dal bundle principale, che non contiene file1, quindi ottieni nil.

Il modo in cui si esegue questa operazione è corretto. setImageNamed: cercherà prima le immagini sull'Orologio, quindi nella cache.

+0

Vorrei che Xcode ti avvertisse quando provi a farlo in un'estensione di watchkit. – psobko

Problemi correlati