Udostępnij za pośrednictwem


Przyciski w środowisku Xamarin.iOS

W systemie iOS UIButton klasa reprezentuje kontrolkę przycisku.

Właściwości przycisku można modyfikować programowo lub za pomocą narzędzia Xcode Interface Builder.

Programowe tworzenie przycisku

Element UIButton można utworzyć przy użyciu tylko kilku wierszy kodu.

  • Utwórz wystąpienie przycisku i określ jego typ:

    UIButton myButton = new UIButton(UIButtonType.System);
    

    Typ przycisku jest określany przez UIButtonType właściwość:

    • UIButtonType.System - Przycisk ogólnego przeznaczenia
    • UIButtonType.DetailDisclosure — wskazuje dostępność szczegółowych informacji, zwykle o określonym elemencie w tabeli
    • UIButtonType.InfoDark — wskazuje dostępność informacji o konfiguracji; ciemnokolorowy
    • UIButtonType.InfoLight — wskazuje dostępność informacji o konfiguracji; jasnokolorowy
    • UIButtonType..AddContact - Wskazuje, że można dodać kontakt
    • UIButtonType.Custom - Przycisk dostosowywalny

    Aby uzyskać więcej informacji na temat różnych typów przycisków, zobacz:

  • Zdefiniuj rozmiar i położenie przycisku:

    myButton.Frame = new CGRect(25, 25, 300, 150);
    
  • Ustaw tekst przycisku. SetTitle Użyj metody , która wymaga tekstu i UIControlState wartości dla stanu przycisku:

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

    Poniżej wymieniono typy stanów przycisku:

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

    Aby uzyskać więcej informacji na temat określania stylu przycisku i ustawiania jego tekstu, zobacz:

Obsługa naciśnięcia przycisku

Aby odpowiedzieć na naciśnięcie przycisku, podaj procedurę obsługi zdarzenia przycisku TouchUpInside :

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

Uwaga

TouchUpInside nie jest jedynym dostępnym zdarzeniem przycisku. UIButton jest klasą UIControlpodrzędną klasy , która definiuje wiele różnych zdarzeń.

Stylowanie przycisku

UIButtonkontrolki mogą istnieć w wielu różnych stanach, z których każda jest określona UIControlState przez wartość — Normal, Disabled, Focused, Highlighteditp. Każdy stan może mieć unikatowy styl, określony programowo lub przy użyciu Projektant systemu iOS.

Uwaga

Aby uzyskać pełną listę wszystkich UIControlState wartości, zapoznaj się z UIKit.UIControlState enumeration Dokumentacji.

Aby na przykład ustawić kolor tytułu i kolor cienia dla UIControlState.Normalelementu :

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

Poniższy kod ustawia tytuł przycisku na przypisany (stylizowany) ciąg dla UIControlState.Normal i 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);

Niestandardowe typy przycisków

Przyciski z UIButtonType częścią nie mają stylów domyślnych Custom . Można jednak skonfigurować wygląd przycisku, ustawiając obraz dla różnych stanów:

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);

W zależności od tego, czy użytkownik dotyka przycisku, czy nie, będzie renderowany jako jeden z następujących obrazów (UIControlState.NormalUIControlState.Highlightedodpowiednio i UIControlState.Selected stanów):

UIControlState.NormalUIControlState.HighlightedUIControlState.Selected

Aby uzyskać więcej informacji na temat pracy z przyciskami niestandardowymi, zapoznaj się z przepisem Używanie obrazu dla przycisku .