Share via


Pulsanti in Xamarin.iOS

In iOS la UIButton classe rappresenta un controllo pulsante.

Le proprietà di un pulsante possono essere modificate a livello di codice o con Interface Builder di Xcode.

Creazione di un pulsante a livello di codice

È possibile creare un oggetto UIButton con poche righe di codice.

  • Creare un'istanza di un pulsante e specificarne il tipo:

    UIButton myButton = new UIButton(UIButtonType.System);
    

    Il tipo del pulsante viene specificato da una UIButtonType proprietà:

    • UIButtonType.System - Pulsante per utilizzo generico
    • UIButtonType.DetailDisclosure - Indica la disponibilità di informazioni dettagliate, in genere relative a un elemento specifico in una tabella
    • UIButtonType.InfoDark - Indica la disponibilità delle informazioni di configurazione; colore scuro
    • UIButtonType.InfoLight - Indica la disponibilità delle informazioni di configurazione; colore chiaro
    • UIButtonType..AddContact - Indica che è possibile aggiungere un contatto
    • UIButtonType.Custom - Pulsante personalizzabile

    Per altre informazioni sui diversi tipi di pulsante, vedere:

  • Definire le dimensioni e la posizione del pulsante:

    myButton.Frame = new CGRect(25, 25, 300, 150);
    
  • Impostare il testo del pulsante. Usare il metodo , che richiede il SetTitle testo e un UIControlState valore per lo stato del pulsante:

    myButton.SetTitle("Hello, World!", UIControlState.Normal);
    

    I tipi di stato del pulsante sono elencati di seguito:

    • UIControlState.Normal
    • UIControlState.Highlighted
    • UIControlState.Disabled
    • UIControlState.Selected
    • UIControlState.Focused
    • UIControlState.Application
    • UIControlState.Reserved

    Per altre informazioni sullo stile di un pulsante e sull'impostazione del testo, vedere:

Gestione di un tocco di pulsante

Per rispondere a un tocco di pulsante, fornire un gestore per l'evento del TouchUpInside pulsante:

myButton.TouchUpInside += (sender, e) => {
    DoSomething();
};

Nota

TouchUpInside non è l'unico evento pulsante disponibile. UIButton è una classe figlio di UIControl, che definisce molti eventi diversi.

Applicazione di stili a un pulsante

UIButtonI controlli possono esistere in diversi stati, ognuno specificato da un UIControlState valore , Normal, DisabledFocused, , Highlightede così via. A ogni stato può essere assegnato uno stile univoco, specificato a livello di codice o con progettazione iOS.

Nota

Per un elenco completo di tutti i UIControlState valori, vedere UIKit.UIControlState enumeration Documentazione.

Ad esempio, per impostare il colore del titolo e il colore dell'ombreggiatura per UIControlState.Normal:

myButton.SetTitleColor(UIColor.White, UIControlState.Normal);
myButton.SetTitleShadowColor(UIColor.Black, UIControlState.Normal);

Il codice seguente imposta il titolo del pulsante su una stringa con attributi (stilizzata) per UIControlState.Normal e UIControlState.Highlighted:

var normalAttributedTitle = new NSAttributedString(buttonTitle, foregroundColor: UIColor.Blue, strikethroughStyle: NSUnderlineStyle.Single);
myButton.SetAttributedTitle(normalAttributedTitle, UIControlState.Normal);

var highlightedAttributedTitle = new NSAttributedString(buttonTitle, foregroundColor: UIColor.Green, strikethroughStyle: NSUnderlineStyle.Thick);
myButton.SetAttributedTitle(highlightedAttributedTitle, UIControlState.Highlighted);

Tipi di pulsanti personalizzati

I pulsanti con un UIButtonType di Custom non hanno stili predefiniti. Tuttavia, è possibile configurare l'aspetto del pulsante impostando un'immagine per i diversi stati:

myButton.SetImage (UIImage.FromBundle ("Buttons/MagicWand.png"), UIControlState.Normal);
myButton.SetImage (UIImage.FromBundle ("Buttons/MagicWand_Highlight.png"), UIControlState.Highlighted);
myButton.SetImage (UIImage.FromBundle ("Buttons/MagicWand_On.png"), UIControlState.Selected);

A seconda che l'utente stia toccando o meno il pulsante, verrà eseguito il rendering come una delle immagini seguenti (UIControlState.NormalUIControlState.Highlightedrispettivamente e UIControlState.Selected stati):

UIControlState.NormalUIControlState.HighlightedUIControlState.Selected

Per altre informazioni sull'uso dei pulsanti personalizzati, vedere usare un'immagine per la ricetta di un pulsante .