Mi aplicación tiene dos UIButtons superpuestos. El botón superior puede estar deshabilitado a veces. Sin embargo, en este caso, los eventos táctiles que recibe parecen transmitirse a la vista subyacente, que en mi caso es el otro botón.Impedir que UIButton deshabilitado propague eventos táctiles
Lo que necesito es que el botón superior intercepte todos los toques y evite que lleguen al botón inferior, incluso en estado desactivado (me complacería incluso si su acción designada se invoca en estado desactivado).
Hasta ahora he tratado:
[topButton setUserInteractionEnabled:YES];
y
[topButton setExclusiveTouch:YES];
aunque este último caso es probablemente indeseable ya que todavía necesito el botón inferior responder a eventos si es la primera vista hace clic. De cualquier manera ninguno de ellos funciona.
Parece que estos métodos no se invocan cuando el botón está deshabilitado. –
Sí, eso es lo que pensé (por eso dije "alguna propiedad") y es por eso que puede necesitar usar el segundo método o hacer algo diferente a desactivar el botón como simular que está deshabilitado de alguna manera. El segundo método probablemente sea un problema ya que la aplicación UIA (que llama a sendEvent en la ventana) probablemente sea lo que está ignorando los UIControls deshabilitados. – Nimrod