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?
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