titlelabel guidelines color buttons objective-c ios xcode event-handling uibutton

objective c - guidelines - Cambiar el texto de UIButton



menu ios (6)

Al diseñar sus subvistas, un UIButton establecerá el valor de texto de su etiqueta de título usando sus propios valores de título, de modo que puede configurar hasta cuatro cadenas diferentes para los cuatro estados (normal, resaltado, seleccionado, deshabilitado).

Debido a esta característica, la configuración directa del texto de LabelLabel no persistirá, y se restablecerá con el botón cuando establezca sus subvistas.

Esto es lo que debe hacer para cambiar el texto del título por el estado de un botón.

[calibrationButton setTitle:@"Calibration" forState:UIControlStateNormal];

Así que estoy tratando de actualizar el texto en un UIButton cuando hago clic en él. Estoy usando la siguiente línea para cambiar el texto:

calibrationButton.titleLabel.text = @"Calibration";

He verificado que el texto está cambiando, pero cuando ejecuto la aplicación y hago clic en el botón, cambia a "Calibración" por una fracción de segundo y luego regresa a su valor predeterminado. Alguna idea de por qué esto esta pasando? ¿Hay algún tipo de función de actualización que deba llamar?


No es un gran problema, y ​​posiblemente obvio, pero hay varios estados disponibles para botones. Si proporciona el ''incorrecto'', no verá el cambio de texto como desee.

Noté que mi botón no mostraba el texto que agregué, utilizando los métodos que se muestran aquí. Consulte este enlace para asegurarse de estar proporcionando el UIControlState que desea.

¿Cuál es la diferencia entre UIControlStateHighlighted y UIControlStateSelected?


Para Swift 2.0:

let btnObject : UIButton = UIButton() btnObject.frame = CGRect(x: 8, y: 89, width: 70, height: 22) btnObject.setTitle("Button Title", forState: UIControlState.Normal) btnObject.titleLabel?.font = UIFont(name: "Helvetica Neue", size: 13) btnObject.titleLabel?.textColor = UIColor.whiteColor() btnObject.backgroundColor = UIColor(red: 189/255, green: 176/255, blue: 0/255, alpha: 1) btnObject.titleLabel?.textAlignment = NSTextAlignment.Center btnObject.addTarget(self, action: "btnbtnObjectClick:", forControlEvents: UIControlEvents.TouchUpInside) subView.addSubview(btnObject)


Para Swift 3.0

let button = UIButton(type: .system) button.frame = CGRect(x: 100, y: 100, width: 100, height: 100) button.setTitle("set here", for: .normal) button.addTarget(self, action: #selector(TableViewController.actionButtonTocuh), for: .touchUpInside) button.titleLabel?.textColor = #colorLiteral(red: 0.1019607857, green: 0.2784313858, blue: 0.400000006, alpha: 1) view.addSubview(button)



programáticamente puede establecer el título del botón como se muestra a continuación:

[myButton setTitle:@"buttonTitle" forState:UIControlStateNormal];

también puede establecer la propiedad del título del botón desde el guión gráfico.