Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Dopo aver creato una soluzione seguendo i passaggi descritti in Installazione e installazione, si avranno 3 progetti:
- App padre iOS usata per l'installazione o altre attività amministrative sul dispositivo. Con altri tipi di estensioni iOS, questa operazione viene spesso definita app "Contenitore". Con Le app watch, sarà possibile che gli utenti inizino a eseguire l'app Watch senza mai eseguire l'app padre;
- Estensione espressioni di controllo che contiene il codice del programma per l'app watch; E
- L'app Espressioni di controllo, che contiene le risorse dello storyboard e dell'immagine di cui viene eseguito il rendering sull'orologio.
Verificare che i riferimenti siano corretti: che l'app padre abbia un riferimento all'app Espressioni di controllo e che l'app espressioni di controllo abbia un riferimento all'estensione.
Verificare che gli identificatori bundle seguano la convenzione *.watchkitextension *.watchkitapp e che il file Info.plist dell'estensione abbia il valore WKApp Bundle ID impostato sull'identificatore bundle dell'app watch.
Dovresti essere in grado di eseguire l'app Watch ora, ma poiché il file storyboard all'interno dell'app Watch è vuoto, non sarai in grado di dire.
Fare doppio clic su Interface.storyboard nell'app Espressioni di controllo per avviare la finestra di progettazione di Xamarin iOS . Se si usa un Mac, è anche possibile fare clic con il pulsante destro del mouse e aprire con > Xcode Interface Builder.
Verificare che i riquadri casella degli strumenti e proprietà siano visibili,
Fare clic per selezionare il controller di interfaccia,
Impostare l'identificatore e il titolo del controller di interfaccia su interfaceController e Hi Watch,
Verificare che la classe sia impostata su InterfaceController

Creare l'interfaccia utente:
- Dal riquadro casella degli strumenti,
- Trascinare e rilasciare un pulsante e un'etichetta nella scena e
- Impostare il testo e gli attributi dei controlli come illustrato:
Impostare il nome nel riquadro Proprietà per ogni controllo. In questo esempio sono stati usati
myButtonemyLabel.Selezionare il pulsante nello storyboard e passare all'elenco Eventi del riquadro Proprietà, quindi
Creare una nuova azione digitando
OnButtonPresse premendo INVIO. L'azione verrà visualizzata nell'elenco e un metodo parziale verrà creato automaticamente in C#.

Dopo aver salvato lo storyboard, il InterfaceController.designer.cs viene aggiornato con i nomi e le azioni dei controlli. Se si apre questo file dopo l'aggiornamento, è possibile vedere come RegisterAttribute corrisponde al controller e come i controlli dell'interfaccia utente corrispondono alle variabili di istanza C# contrassegnate con e come Le azioni eseguono il OutletAttribute mapping a metodi parziali contrassegnati con :ActionAttribute
// WARNING
//
// This file has been generated automatically by Visual Studio for Mac from the outlets and
// actions declared in your storyboard file.
// Manual changes to this file will not be maintained.
//
[Register ("InterfaceController")]
partial class InterfaceController
{
[Outlet]
[GeneratedCode ("iOS Designer", "1.0")]
WatchKit.WKInterfaceButton myButton { get; set; }
[Outlet]
[GeneratedCode ("iOS Designer", "1.0")]
WatchKit.WKInterfaceLabel myLabel { get; set; }
[Action ("OnButtonPress:")]
[GeneratedCode ("iOS Designer", "1.0")]
partial void OnButtonPress (WatchKit.WKInterfaceButton sender);
void ReleaseDesignerOutlets ()
{
if (myButton != null) {
myButton.Dispose ();
myButton = null;
}
if (myLabel != null) {
myLabel.Dispose ();
myLabel = null;
}
}
}
Aprire ora InterfaceController.cs (non InterfaceController.designer.cs) e aggiungere il codice seguente:
int clickCount = 0;
partial void OnButtonPress (WatchKit.WKInterfaceButton sender)
{
var msg = String.Format("Clicked {0} times", ++clickCount);
myLabel.SetText(msg);
}
Questo codice deve essere abbastanza trasparente: la variabile clickCount di istanza viene incrementata ogni volta che viene chiamata la funzione OnButtonPress . Il testo di myLabel viene modificato in modo da riflettere questo conteggio; myLabel, naturalmente, è il nome di uno degli outlet creati in XCode. La partial funzione è l'implementazione della funzione associata al nome dell'azione specificata.
Se non è già il progetto di avvio,
Fare clic con il pulsante destro del mouse sul progetto Watch Extension e scegliere Imposta come progetto di avvio,
Impostare Destinazione distribuzione su un'immagine del simulatore compatibile con Watch Kit (ad esempio i Telefono 6 iOS 8.2),
Premere il pulsante Debug per attivare l'avvio di una compilazione e un simulatore.
Quando viene avviato il simulatore, premere il pulsante per incrementare l'etichetta. Congratulazioni, hai un'app watch!






