Tlačítka v Xamarin.iOS
V iOSu UIButton
třída představuje ovládací prvek tlačítka.
Vlastnosti tlačítka je možné upravit programově nebo pomocí Tvůrce rozhraní Xcode.
Programové vytvoření tlačítka
A UIButton
lze vytvořit pouze s několika řádky kódu.
Vytvořte instanci tlačítka a zadejte jeho typ:
UIButton myButton = new UIButton(UIButtonType.System);
Typ tlačítka je určen vlastností
UIButtonType
:UIButtonType.System
- Tlačítko pro obecné účelyUIButtonType.DetailDisclosure
- Označuje dostupnost podrobných informací, obvykle o konkrétní položce v tabulce.UIButtonType.InfoDark
- Označuje dostupnost informací o konfiguraci; tmavě barevnáUIButtonType.InfoLight
- Označuje dostupnost informací o konfiguraci; světle barevnáUIButtonType..AddContact
- Označuje, že kontakt lze přidat.UIButtonType.Custom
- Přizpůsobitelné tlačítko
Další informace o různýchtypech
- Oddíl Vlastní typy tlačítek v tomto dokumentu
- Recept na typy tlačítek
- Apple je pokyny pro lidské rozhraní pro iOS.
Definujte velikost a umístění tlačítka:
myButton.Frame = new CGRect(25, 25, 300, 150);
Nastavte text tlačítka. Použijte metodu
SetTitle
, která vyžaduje text aUIControlState
hodnotu pro stav tlačítka:myButton.SetTitle("Hello, World!", UIControlState.Normal);
Typy stavů tlačítka jsou uvedené níže:
UIControlState.Normal
UIControlState.Highlighted
UIControlState.Disabled
UIControlState.Selected
UIControlState.Focused
UIControlState.Application
UIControlState.Reserved
Další informace o stylu tlačítka a nastavení jeho textu najdete v tématu:
- Část Styling a button (Styling a button ) tohoto dokumentu
- Recept na text tlačítka Nastavit
Zpracování klepnutí na tlačítko
Pokud chcete odpovědět na klepnutí na tlačítko, zadejte obslužnou rutinu události tlačítka TouchUpInside
:
myButton.TouchUpInside += (sender, e) => {
DoSomething();
};
Poznámka:
TouchUpInside
není jedinou dostupnou událostí tlačítka. UIButton
je podřízená třída UIControl
, která definuje mnoho různých událostí.
Stylování tlačítka
UIButton
ovládací prvky mohou existovat v řadě různých stavů, z nichž každý je určen hodnotou UIControlState
– Normal
, Disabled
, Focused
, Highlighted
atd. Každý stav může mít jedinečný styl, určený programově nebo pomocí iOS Designeru.
Poznámka:
Úplný seznamvšechch UIControlState
UIKit.UIControlState enumeration
Dokumentace.
Pokud chcete například nastavit barvu nadpisu a barvu stínu pro UIControlState.Normal
:
myButton.SetTitleColor(UIColor.White, UIControlState.Normal);
myButton.SetTitleShadowColor(UIColor.Black, UIControlState.Normal);
Následující kód nastaví název tlačítka na atribut (stylizovaný) řetězec pro UIControlState.Normal
a 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);
Vlastní typy tlačítek
Tlačítka s UIButtonType
Custom
výchozími styly nemají žádné výchozí styly. Vzhled tlačítka je ale možné nakonfigurovat nastavením obrázku pro různé stavy:
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);
V závislosti na tom, UIControlState.Highlighted
jestli se uživatel dotkne tlačítka nebo ne, se zobrazí jako jeden z následujících obrázků (UIControlState.Normal
a UIControlState.Selected
stavů):
Další informace o práci s vlastními tlačítky najdete v tématu Použití obrázku pro recept na tlačítko .