2010-10-13 8 views
5

¿Hay alguna manera de decirle al sistema que cancele todas las secuencias de eventos táctiles que están ocurriendo actualmente en su aplicación?Permitir toque en la celda de la tabla para cancelar otros toques actuales

En una parte de mi aplicación, muestro una nueva vista cuando un usuario selecciona una celda de tabla particular. Pero, quiero asegurarme de que no estén tocando simultáneamente ningún otro botón. Por ejemplo, si están presionando un botón de la barra de herramientas mientras seleccionan la celda de la tabla, quiero cancelar ese toque en el botón de la barra de herramientas.

A UIActionSheet hará este tipo de cancelación cuando se muestre, y eso es exactamente lo que quiero hacer.

Intenté configurar exclusiveTouch en el UIToolbar, pero eso no pareció ayudar. Y, el botón de la barra de herramientas es UIBarButtonItem, por lo que no tiene una propiedad exclusiveTouch. ¿Hay algún otro lugar donde debería establecer esa propiedad que podría ayudar?

+1

Estoy tratando de hacerlo yo mismo con una hoja de acción personalizada. No hay mucho progreso todavía, pero el rastro de interés de la pila es: - [UIAplication _cancelTouches: withEvent: sendingTouchesCancelled: includingGestures:]; - [UIApplication _cancelAllTouches]; - [UIActionSheet (Private) _presentSheetStartingFromYCoordinate:]; - [UIActionSheet (Private) presentSheetInView:]; – Costique

Respuesta

1

Conjunto exclusiveTouch en las vistas que requieren exclusividad; esta es probablemente la celda de la tabla en lugar de los botones.

Si bien no puede establecer exclusiveTouch directamente en UIBarButtonItem s, puede configurarlo en las subvistas de la barra de herramientas (ick).

Cuestiones relacionadas