Partager via


Boutons dans Xamarin.iOS

Dans iOS, la UIButton classe représente un contrôle bouton.

Les propriétés d’un bouton peuvent être modifiées par programmation ou avec le générateur d’interface de Xcode.

Création d’un bouton par programmation

Un UIButton peut être créé avec seulement quelques lignes de code.

  • Instanciez un bouton et spécifiez son type :

    UIButton myButton = new UIButton(UIButtonType.System);
    

    Le type du bouton est spécifié par une UIButtonType propriété :

    • UIButtonType.System - Un bouton à usage général
    • UIButtonType.DetailDisclosure - Indique la disponibilité d’informations détaillées, généralement sur un élément spécifique dans une table
    • UIButtonType.InfoDark - Indique la disponibilité des informations de configuration ; de couleur foncée
    • UIButtonType.InfoLight - Indique la disponibilité des informations de configuration ; de couleur claire
    • UIButtonType..AddContact - Indique qu’un contact peut être ajouté
    • UIButtonType.Custom - Bouton personnalisable

    Pour plus d’informations sur les différents types de boutons, consultez :

  • Définissez la taille et la position du bouton :

    myButton.Frame = new CGRect(25, 25, 300, 150);
    
  • Définissez le texte du bouton. Utilisez la SetTitle méthode , qui nécessite le texte et une UIControlState valeur pour l’état du bouton :

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

    Les types d’état du bouton sont répertoriés ci-dessous :

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

    Pour plus d’informations sur le style d’un bouton et la définition de son texte, reportez-vous à :

Gestion d’un appui sur un bouton

Pour répondre à un appui sur un bouton, fournissez un gestionnaire pour l’événement du TouchUpInside bouton :

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

Notes

TouchUpInside n’est pas le seul événement de bouton disponible. UIButton est une classe enfant de UIControl, qui définit de nombreux événements différents.

Style d’un bouton

UIButtonles contrôles peuvent exister dans un certain nombre d’états différents, chacun spécifié par une UIControlState valeur : Normal, Disabled, Focused, Highlighted, etc. Chaque état peut recevoir un style unique, spécifié par programmation ou avec le Designer iOS.

Notes

Pour obtenir la liste complète de toutes les UIControlState valeurs, consultezUIKit.UIControlState enumeration Documentation.

Par exemple, pour définir la couleur de titre et la couleur d’ombre pour UIControlState.Normal:

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

Le code suivant définit le titre du bouton sur une chaîne attributée (stylisée) pour UIControlState.Normal et 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);

Types de boutons personnalisés

Les boutons avec un UIButtonType de n’ont Custom aucun style par défaut. Toutefois, il est possible de configurer l’apparence du bouton en définissant une image pour ses différents états :

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

Selon que l’utilisateur touche ou non le bouton, il s’affiche sous la forme d’une des images suivantes (UIControlState.NormalUIControlState.Highlightedet UIControlState.Selected états, respectivement) :

UIControlState.NormalUIControlState.HighlightedUIControlState.Selected

Pour plus d’informations sur l’utilisation des boutons personnalisés, reportez-vous à la recette Utiliser une image pour un bouton .