Progettazione di interfacce utente con Xcode

A partire da Visual Studio 2019 versione 16.8 e Visual Studio per Mac versione 8.8, è consigliabile modificare i file con estensione storyboard e nib modificandoli in Xcode Interface Builder in un Mac.

Nota

A partire da Visual Studio 2019 versione 16.9, non sarà possibile modificare gli storyboard iOS in Windows. Usare Visual Studio per Mac e Xcode Interface Builder per continuare a compilare le interfacce utente di Xamarin.iOS.

Questo articolo illustra le soluzioni comuni per la creazione di interfacce utente con Xcode Interface Builder. Questo articolo può essere particolarmente utile se le interfacce utente sono state modificate in precedenza con Xamarin.iOS Designer.

Per una procedura dettagliata più approfondita degli storyboard, vedere Storyboard in Xamarin.iOS.

Come aprire uno storyboard

Aprire un file dell'interfaccia utente iOS in Visual Studio per Mac facendo clic con il pulsante destro del mouse su un file storyboard e scegliendo Xcode Interface Builder:

Select Interface Builder

Verrà visualizzata la finestra Xcode aperta. Tutte le modifiche salvate qui verranno riflesse nel progetto di Visual Studio.

Xcode Window

Per altre informazioni su Xcode Interface Builder, vedere Interface Builder predefinito.

Creazione di un nuovo controllo

Per creare un nuovo controllo con Xcode Interface Builder, selezionare prima di tutto lo storyboard che si vuole modificare. Aprire quindi la finestra di dialogo Libreria Xcode (Visualizza mostra>libreria) e trascinare il controllo nello storyboard.

Library Picker

Aprire quindi il file di intestazione del controller di visualizzazione corrispondente. Per un'app Xamarin.iOS vuota "Visualizzazione singola", lo storyboard predefinito è denominato Main.storyboard. Il file del controller di visualizzazione corrispondente viene chiamato ViewController.cs in Visual Studio con un file di intestazione ViewController.h corrispondente quando visualizzato da Xcode.

Da Xcode Interface Builder aprire sia lo storyboard che il file di intestazione del controller di visualizzazione corrispondente. Tenendo premuto il tasto di controllo (^), trascinare il controllo dallo storyboard nel file del controller di visualizzazione fino a quando Xcode non richiede una finestra di dialogo.

Demo Link Control

Come illustrato in precedenza, il codice C# corrispondente verrà generato automaticamente nel file code-behind del controller di visualizzazione. È ora possibile accedere a questo controllo all'interno del progetto Xamarin.iOS.

Modifica del nome di un controllo esistente

Per modificare il nome di un controllo esistente da Xcode Interface Builder e riflettere tale modifica nel progetto C#, passare al file di intestazione del controller di visualizzazione appropriato, a destra e selezionare Refactoring.

Refactor Control

Il file code-behind verrà rigenerato con il nuovo nome, consentendo di accedere al controllo tramite codice in Visual Studio per Mac.

Problemi noti

Questa sezione illustra i problemi noti.

"Visual Studio non è riuscito a comunicare con Xcode"

In macOS Catalina o versione successiva è possibile che venga visualizzato l'errore seguente:

cant communicate err

In primo luogo, nelle preferenze di sistema del Mac in Sicurezza e privacy > Automazione, assicurarsi che Visual Studio sia elencato e Xcode sia selezionato.

macOS security

Se Xcode è selezionato e viene ancora visualizzato il messaggio di errore, potrebbe essere necessario reimpostare le autorizzazioni di privacy Visual Studio per Mac.

Questa operazione può essere eseguita avviando una finestra del terminale ed eseguendo il comando seguente:

sudo tccutil reset All "com.microsoft.visual-studio"

Per assicurarsi che la modifica precedente venga applicata, reimpostare il PRAM del Mac. Per istruzioni, vedere Reimpostare NVRAM o PRAM nel Mac.