Mam scenariusz, w którym korzystam z listy widokówktóry przewija się w poziomie, jak paginacja. I każdy widok ma widoki tabel, które przewija się w pionie. Problem polega na tym, że chcę przewijać w pionie. Trudno mi to zrobić. Ale w pionie jest w porządku. Czy mogę to ustawić w taki sposób, aby przewijanie w pionie miało wyższy priorytet niż w poziomie? Ale oba powinny być dostępne.
Odpowiedzi:
1 dla odpowiedzi № 1Cóż, masz UIScrollView
do przewijania w poziomie i kilka UITableView
jest w środku jak strony? Myślę, że twój problem leży w UIScrollView
który przechwytuje pionowy gest panoramy. Spróbuj wyłączyć przewijanie w pionie dla swojego UIScrollView
i powinno pomóc.
2 dla odpowiedzi nr 2
W iOS 5 UIScrollView
odsłania to UIPanGestureRecognizer
.
Ustaw delegata niestandardowego przesuwania na siebie i wykonaj gestureRecognizer
własność lub ivar i spraw, aby twoja klasa była zgodna z <UIGestureRecognizerDelegate>
protokół.
Następnie zaimplementuj UIGestureRecognizerDelegate
’S - gestureRecognizer:shouldRecognizeSimultaneouslyWithGestureRecognizer
: tak:
-(BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldRecognizeSimultaneouslyWithGestureRecognizer:(UIGestureRecognizer *)otherGestureRecognizer
{
if ([gestureRecognizer isEqual:self.swipe] && [otherGestureRecognizer isEqual:self.scrollView.panGestureRecognizer])
{
return NO;
}
return YES; //default
}