¿Hay alguna manera de establecer un estado personalizado, no uno de los valores existentes UIControlState
, para un UIControl
?¿Puedo usar valores personalizados de UIControlState para mi propio control?
En el UIControlSate
enumeración, hay 16 bits que se pueden utilizar para los estados de control personalizados:
UIControlStateApplication = 0x00FF0000, // additional flags available for application use
El problema es que state
propiedad UIControl
's es de sólo lectura .
Quiero establecer diferentes imágenes de fondo en mi UIButton
para estados personalizados.
La enumeración UIControlState especifica que los estados de control de aplicaciones utilizan la máscara 0x00FF0000. Eso significa 1 << 16 a 1 << 23. Utiliza 1 << 3 ¿es esto válido? ¿Podría posiblemente entrar en conflicto con los futuros estados de control que apple podría agregar? –
También se debe tener en cuenta; Si planea usar estados personalizados para controlar recursos personalizados en UIButton como el título, la imagen de fondo, la imagen, titleShadow o attributedTitle. Debe llamar a setNeedsLayout después de cambiar su estado personalizado. De lo contrario, el botón solo actualizará su apariencia después de que se toque nuevamente. –
Definitivamente no use el 1 << 3, ya que Adam afirma que entrará en conflicto en futuras versiones del sistema operativo. Use un número en el rango de máscara de bits 0x00FF0000. – christophercotton