2010-10-13 9 views
5

C'è un modo per dire al sistema di annullare tutte le sequenze di eventi touch che stanno attualmente accadendo nella tua app?Consenti il ​​tocco sulla cella della tabella per cancellare altri tocchi correnti

In una parte della mia app, mostro una nuova vista quando un utente seleziona una particolare cella di tabella. Ma, voglio assicurarmi che non stiano toccando contemporaneamente altri pulsanti. Ad esempio, se sono in possesso di un pulsante della barra degli strumenti mentre selezionano la cella della tabella, voglio annullare quel tocco sul pulsante della barra degli strumenti.

A UIActionSheet eseguirà questo tipo di annullamento del tocco quando viene visualizzato, ed è esattamente ciò che voglio fare.

Ho provato a impostare exclusiveTouch su UIToolbar, ma quello non sembrava aiutare. E il pulsante della barra degli strumenti è un UIBarButtonItem, quindi non ha una proprietà exclusiveTouch. C'è da qualche altra parte che dovrei impostare quella proprietà che potrebbe aiutare?

+1

Sto provando a farlo da solo con un foglio di azione personalizzato. Non ancora molti progressi, ma la traccia di interesse dello stack è: - [UIApplication _cancelTouches: withEvent: sendingTouchesCancelled: includingGestures:]; - [UIApplication _cancelAllTouches]; - [UIActionSheet (Private) _presentSheetStartingFromYCoordinate:]; - [UIActionSheet (Private) presentSheetInView:]; – Costique

risposta

1

Impostare exclusiveTouch sulle viste che richiedono l'esclusività; questa è probabilmente la cella della tabella al posto dei pulsanti.

Mentre non è possibile impostare exclusiveTouch direttamente su UIBarButtonItem s, è possibile impostarlo nelle sottoview della barra degli strumenti (ick).

Problemi correlati