Share via


Visualizzazione di immagini con Xamarin.iOS

L'aggiunta di immagini all'app richiede due passaggi: prima, aggiungere le immagini al progetto; aggiungere quindi controlli e codice per visualizzarli su una schermata. Vedere l'articolo Uso delle immagini per una copertura più dettagliata della gestione delle immagini in Xamarin.iOS.

Aggiunta di immagini all'app

Le immagini possono essere aggiunte a qualsiasi cartella nella soluzione Visual Studio per Mac e se l'azione di compilazione è impostata su Contenuto, il file verrà incluso nell'app e può essere visualizzato.

Visual Studio per Mac supporta anche una directory speciale denominata Risorse che possono contenere anche file di immagine. I file nella cartella Risorse devono avere l'azione di compilazione impostata su BundleResource.

Questo screenshot mostra le opzioni di azione di compilazione visualizzate quando si fa clic con il pulsante destro del mouse su un file:

Menu Azione di compilazione

Visual Studio per Mac in genere sceglierà la risposta corretta Azione di compilazione automatica, ma è necessario tenere presente queste impostazioni, soprattutto se si spostano i file nel progetto.

Aggiunta di un file di immagine

Per aggiungere un file di immagine al progetto, fare prima clic con il pulsante destro del mouse sul progetto e scegliere Aggiungi file...

Aggiungi file... Menu

Selezionare l'immagine (o le immagini) da includere nella finestra di dialogo del file standard. L'azione di compilazione predefinita per le immagini sarà BundleResource : non eseguire l'override di questo valore a meno che non si disponga di un motivo specifico.

Finestra di dialogo Aggiungi file

L'immagine verrà aggiunta al progetto e sarà disponibile per essere caricata e visualizzata nel codice. Questo screenshot mostra un'immagine aggiunta a un progetto di applicazione iOS:

Immagine nel progetto

Che cos'è la directory Resources?

I file inseriti nella directory Resources vengono trattati in modo diverso dai normali file. Il contenuto della cartella Resources viene copiato nella radice dell'applicazione e può essere fatto riferimento da lì nel codice. Questo può essere utile per molti motivi:

  • Archiviazione delle immagini configurate nelle proprietà dell'applicazione, ad esempio le immagini di avvio predefinite e le icone dell'applicazione.
  • L'archiviazione di altre immagini e file separatamente dal codice, quindi è più facile da gestire (le sottodirectory vengono mantenute quando vengono copiati i contenuti della directory Resources).

La directory Resources è particolarmente utile in un progetto di libreria, poiché il codice può presupporre che tali immagini verranno copiate nella radice dell'applicazione che utilizza, semplificando la scrittura di librerie di codice condivise che richiedono immagini, suoni, video, XML o altri file.

La directory Resources deve essere denominata e tutti i file devono avere l'azione di compilazione impostata su BundleResource.

Visualizzazione dell'immagine

In Progettazione iOS usare una visualizzazione immagini per visualizzare un'immagine o una serie animata di immagini. L'icona Visualizzazione immagini dalla casella degli strumenti è illustrata di seguito:

Icona ImageView nella casella degli strumenti.

Trascinare la visualizzazione immagini dalla casella degli strumenti nel controller di visualizzazione. Quindi, in Immagine immagine > l'elenco a discesa fornirà un elenco di tutti i file di immagine disponibili nel progetto. Selezionare una di queste opzioni per aggiungerla alla visualizzazione immagine.

ImageView nella casella degli strumenti

Visualizzazione dell'immagine a livello di codice

Poiché SF Monkey.jpg si trova nella radice della directory Resources , sarà disponibile in fase di esecuzione nella radice del bundle dell'applicazione. Per visualizzare questa immagine in un controllo visualizzazione immagini, usare il codice seguente:

imageview1.Image = UIImage.FromBundle("SF Monkey.png");

Se l'immagine fosse stata inserita in /Resources/Pics/SF Monkey.jpg, il codice includerà la cartella Pics nel percorso:

imageview1.Image = UIImage.FromBundle("Pics/SF Monkey.png");

I riferimenti ai file di risorse non devono mai includere la cartella Risorse .