Ho uno scenario in cui ho due UITableViews come una visualizzazione secondaria in un UIView principale:Limite UITableView panoramica a 1 dito
UIView (frame = schermo intero)
+ --- UITableView (frame = ~ 1/3 dello schermo)
+ --- UITableView (frame = secondo ~ terzo dello schermo)
voglio rilevare un tre dita scorri verso l'alto su tutta l'area dello schermo (e anche consentire all'utente di pan UITableViews su e giù con almeno un dito).
Ho un UISwipeGestureRecognizer collegato a UIView con numberOfTouchesRequired = 3
.
Ho provato questi:
- Impostazione entrambi UIPanGestureRecognizers interni
maximumNumberOfTouches
-1 su entrambi UITableViews. A mio avviso, ciò dovrebbe impedire l'uso di due o tre padelle su UITableViews, ma non è così. Se imposto il valoreenabled
su NO con questi UIPanGestureRecognizer, i tocchi vengono passati correttamente al superview, ma la panoramica/scorrimento non funziona. - Chiamando
panGestureRecognizer requireGestureRecognizerToFail:
con il mioUISwipeGestureRecognizer
su entrambe le UITableViews. Funziona in parte, ma il panning attende fino a quando il passaggio non è stato completato e si sente molto impacciato. - Ignorare UITableView con l'impostazione
shouldRecognizeSimultaneouslyWithGestureRecognizer:
per restituire SÌ, che consente di rilevare lo scorrimento a tre dita. Tuttavia, le UITableViews sotto pan/scrollano involontariamente.
Quindi, come limitare il numero di tocchi di panoramica a 1 (o 2) e lasciare che il tre dita UISwipeGestureRecognizer riconosca tre sfioramenti?