Ho uno scorrimento verticale UIScrollView
. Voglio anche gestire le pentole orizzontali su di esso, pur consentendo il comportamento di scorrimento verticale predefinito. Ho inserito un trasparente UIView
sulla vista di scorrimento e aggiunto un indicatore di movimento panoramico. In questo modo posso ottenere le pentole bene, ma poi la vista di scorrimento non riceve alcun gesto.Intercettazione di movimenti di panoramica su un UIScrollView interruzioni di scorrimento
Ho implementato i seguenti UIPanGestureRecognizerDelegate
metodi, sperando di limitare il mio gesto riconoscitore al solo pentole orizzontali, ma che non ha aiutato:
- (BOOL)gestureRecognizerShouldBegin:(UIPanGestureRecognizer *)gestureRecognizer
{
// Only accept horizontal pans here.
// Leave the vertical pans for scrolling the content.
CGPoint translation = [gestureRecognizer translationInView:self.view];
BOOL isHorizontalPan = (fabsf(translation.x) > fabsf(translation.y));
return isHorizontalPan;
}
- (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldRecognizeSimultaneouslyWithGestureRecognizer:(UIGestureRecognizer *)otherGestureRecognizer
{
return (otherGestureRecognizer == _scrollView.panGestureRecognizer);
}
Hai provato '[panGesture setCancelsTouchesInView: NO];'? Il semplice ritorno di YES in 'shouldRecognizeSimultaneouslyWithGestureRecognizer' potrebbe aiutarti a capire dove si trova il problema. –
Ho appena provato, nessuna differenza. – Macondo2Seattle