Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
En iOS, la clase UIButton representa un control de botón.
Las propiedades de un botón se pueden modificar mediante programación o con Interface Builder de Xcode.
Creación de un botón mediante programación
Se puede crear un UIButton 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 propiedad
UIButtonType:UIButtonType.System: un botón de uso generalUIButtonType.DetailDisclosure: indica la disponibilidad de información detallada, por lo general, sobre un elemento específico de una tablaUIButtonType.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 contactoUIButtonType.Custom: botón personalizable
Para obtener más información sobre los distintos tipos de botón, eche un vistazo a:
- Sección Tipos de botón personalizados de este documento
- Receta Tipos de botón
- Directrices de 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 método
SetTitle, que requiere el texto y un valorUIControlStatepara el estado del botón:myButton.SetTitle("Hello, World!", UIControlState.Normal);A continuación, se enumeran los tipos de estado del botón:
UIControlState.NormalUIControlState.HighlightedUIControlState.DisabledUIControlState.SelectedUIControlState.FocusedUIControlState.ApplicationUIControlState.Reserved
Para obtener más información sobre cómo aplicar estilo a un botón y establecer su texto, consulte:
- La sección Aplicar estilo a un botón de este documento
- La receta Establecer texto de botón.
Control de una pulsación de botón
Para responder a una pulsación de botón, proporcione un control para el evento TouchUpInside del 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.
Aplicar estilo a un botón
Los controles UIButton pueden existir en varios estados diferentes, cada uno especificado por un valor UIControlState: Normal, Disabled, Focused, Highlighted, etc. A cada estado se le puede dar un estilo único, especificado mediante programación o con iOS Designer.
Nota:
Para obtener una lista completa de todos los valores UIControlState, eche un vistazo a Documentación de UIKit.UIControlState enumeration.
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 distintos 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 (estados UIControlState.Normal, UIControlState.Highlighted y UIControlState.Selected respectivamente):



Para más información sobre cómo trabajar con botones personalizados, consulte la receta Usar una imagen para un botón.