2013-03-19 19 views
5

Mam UICollectionView wypełnione niektóre komórki, i wdrożyłem metodę - (void)collectionView:(UICollectionView *)collectionView didSelectItemAtIndexPath:(NSIndexPath *)indexPath Działa to jak urok, ale nie działa podczas przewijania. Jest to problem, ponieważ przewijanie jest bardzo wrażliwe, a gdy mam na myśli popchnięcie komórki i wywołanie metody, kończę przewijanie bez rezultatu.UICollectlectView odpowiada podczas przewijania?

więc zastanawiałem się, jak przeciwdziałać i podszedł z tym:

  • można po prostu ustawić metodę reagowania, gdy jest przewijanie?
  • Jeśli nie - czy mogę po prostu zrobić tak, że przewijanie dzieje się TYLKO przy użyciu np. 2 palców? aby oddzielić 2 akcje więcej.

Dzięki na góry

Odpowiedz

6

Dobór UICollectionViewCell dzieje się po dotknięciu go. Kran powinien być krótki i znajdować się w jednym miejscu. Jeśli zamiast tego przewiniesz, prawdopodobnie nie pukniesz w prawo. W takim przypadku miałoby to również miejsce podczas korzystania z wbudowanych aplikacji, takich jak Mail.

Urządzenie UICollectionView używa UITapGestureRecognizer do rozpoznawania zaznaczonych komórek. Ten program do rozpoznawania gestów nie zezwala na konfigurowanie ustawień, które mogą pomóc w tym przypadku.

Być może będziesz w stanie zmienić UIPanGestureRecognizer na 2 palce, ale powinieneś pomyśleć o tym, czy tego chcesz. Lepiej użyj go w taki sposób, w jaki Apple go używa, użytkownicy są do tego przyzwyczajeni.

powiedział, że tutaj jest strona dokumentacji na gest wsparcia kolekcji widoku danych: http://developer.apple.com/library/ios/#documentation/WindowsViews/Conceptual/CollectionViewPGforIOS/IncorporatingGestureSupport/IncorporatingGestureSupport.html

Możesz być w stanie to wykorzystać, aby zmienić właściwość wewnętrznie minimumNumberOfTouches wykorzystywane UIPanGestureRecognizer. Ale znowu nie sądzę, że powinieneś.

Powiązane problemy