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 przeznaczeniaUIButtonType.DetailDisclosure
— wskazuje dostępność szczegółowych informacji, zwykle o określonym elemencie w tabeliUIButtonType.InfoDark
— wskazuje dostępność informacji o konfiguracji; ciemnokolorowyUIButtonType.InfoLight
— wskazuje dostępność informacji o konfiguracji; jasnokolorowyUIButtonType..AddContact
- Wskazuje, że można dodać kontaktUIButtonType.Custom
- Przycisk dostosowywalny
Aby uzyskać więcej informacji na temat różnych typów przycisków, zobacz:
- Sekcja Typy przycisków niestandardowych w tym dokumencie
- Przepis na typy przycisków
- Wytyczne dotyczące interfejsu człowieka dla systemu iOS firmy Apple.
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 iUIControlState
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:
- Sekcja Styling a button (Stylowanie) tego dokumentu
- Ustaw przepis tekstowy przycisku.
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ą UIControl
podrzędną klasy , która definiuje wiele różnych zdarzeń.
Stylowanie przycisku
UIButton
kontrolki mogą istnieć w wielu różnych stanach, z których każda jest określona UIControlState
przez wartość — Normal
, Disabled
, Focused
, Highlighted
itp. 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.Normal
elementu :
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.Normal
UIControlState.Highlighted
odpowiednio i UIControlState.Selected
stanów):
Aby uzyskać więcej informacji na temat pracy z przyciskami niestandardowymi, zapoznaj się z przepisem Używanie obrazu dla przycisku .