Botones en Xamarin.iOS
En iOS, la UIButton
clase representa un control de botón.
Las propiedades de un botón se pueden modificar mediante programación o con el Generador de interfaz de Xcode.
Creación de un botón mediante programación
Se UIButton
puede crear con solo unas pocas líneas de código.
Cree una instancia de un botón y especifique su tipo:
UIButton myButton = new UIButton(UIButtonType.System);
El tipo del botón se especifica mediante una
UIButtonType
propiedad :UIButtonType.System
- Un botón de uso generalUIButtonType.DetailDisclosure
: indica la disponibilidad de información detallada, normalmente sobre un elemento específico de una tabla.UIButtonType.InfoDark
- Indica la disponibilidad de la información de configuración; color oscuroUIButtonType.InfoLight
- Indica la disponibilidad de la información de configuración; color claroUIButtonType..AddContact
: indica que se puede agregar un contacto.UIButtonType.Custom
- Botón personalizable
Para obtener más información sobre los diferentes tipos de botón, eche un vistazo a:
- Sección Tipos de botón personalizados de este documento
- Receta de tipos de botón
- Directrices para la interfaz humana de iOS de Apple.
Defina el tamaño y la posición del botón:
myButton.Frame = new CGRect(25, 25, 300, 150);
Establezca el texto del botón. Use el
SetTitle
método , que requiere el texto y unUIControlState
valor para el estado del botón:myButton.SetTitle("Hello, World!", UIControlState.Normal);
A continuación se enumeran los tipos de estado del botón:
UIControlState.Normal
UIControlState.Highlighted
UIControlState.Disabled
UIControlState.Selected
UIControlState.Focused
UIControlState.Application
UIControlState.Reserved
Para obtener más información sobre cómo aplicar estilos a un botón y establecer su texto, consulte:
- La sección aplicar estilos a un botón de este documento
- Receta de texto del botón Establecer .
Control de una pulsación de botón
Para responder a una pulsación de botón, proporcione un controlador para el evento del TouchUpInside
botón:
myButton.TouchUpInside += (sender, e) => {
DoSomething();
};
Nota:
TouchUpInside
no es el único evento de botón disponible. UIButton
es una clase secundaria de UIControl
, que define muchos eventos diferentes.
Aplicación de estilos a un botón
UIButton
los controles pueden existir en varios estados diferentes, cada uno especificado por un UIControlState
valor : Normal
, Disabled
, Focused
, Highlighted
, etc. A cada estado se le puede dar un estilo único, especificado mediante programación o con el Designer de iOS.
Nota
Para obtener una lista completa de todos los UIControlState
valores, eche un vistazo aUIKit.UIControlState enumeration
Documentación.
Por ejemplo, para establecer el color de título y el color de sombra para UIControlState.Normal
:
myButton.SetTitleColor(UIColor.White, UIControlState.Normal);
myButton.SetTitleShadowColor(UIColor.Black, UIControlState.Normal);
El código siguiente establece el título del botón en una cadena con atributos (estilizados) para UIControlState.Normal
y 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);
Tipos de botón personalizados
Los botones con un UIButtonType
de Custom
no tienen estilos predeterminados. Sin embargo, es posible configurar la apariencia del botón estableciendo una imagen para sus diferentes estados:
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);
Dependiendo de si el usuario está tocando el botón o no, se representará como una de las siguientes imágenes (UIControlState.Normal
, UIControlState.Highlighted
y UIControlState.Selected
estados, respectivamente):
Para obtener más información sobre cómo trabajar con botones personalizados, consulte la receta Usar una imagen para un botón .