2013-02-18 10 views
5

W iOS 6 mam UITableView z włączoną funkcją pull to refresh. W górnej komórce mam kilka kontroli celnych, które użytkownik może interaktywnie przeciągając suwak kołowy (zobacz ten example). Zobacz zrzut ekranu ...Wyłącz przewijanie UITableView w niektórych komórkach

enter image description here

Kontrola potrzebne tag i przeciągnięcie suwaka wskaźniki muszą być przeciągane ale mogą być trudne do chwycić za hitem wydaje się być często na tle komórek, powodując przeciąganie tabeli do kopnięcia.

Chciałbym wyłączyć domyślne przewijanie tabeli, jeśli zdarzenie dotknięcia pojawi się w dowolnym miejscu na tych elementach sterujących. Dwie opcje mogę myśleć off:

  1. wyłączyć tabeli, przeciągając za każdym razie w tym górnej komórce
  2. upewnić kontrole obsługuje imprezy na większym obszarze, w szczególności w części, gdzie mają przezroczyste tło

Wszelkie sugestie dotyczące sposobu osiągnięcia jednego z tych?

Dzięki!

+0

Spróbuj tego: tableView.scrollEnabled = NIE; – Vinodh

+1

Rozumiem, że moje problemy polegają na tym, że chcę, aby stół był przeciągalny i można go przewijać, z wyjątkiem sytuacji, gdy zdarzenia dotykowe występują w pierwszym wierszu (w takim przypadku chcę, aby wydarzenie miało miejsce tylko w suwakach) – mkrus

Odpowiedz

0

Kiedyś podklasa UIControl i zastąpić te funkcje:

override func continueTracking(_ touch: UITouch, with event: UIEvent?) -> Bool { } 

override func endTracking(_ touch: UITouch?, with event: UIEvent?) {} 

override func beginTracking(_ touch: UITouch, with event: UIEvent?) -> Bool {} 

To działa dobrze dla mnie z tego kręgu suwak stylu.

Jeśli nadal nie działa, możesz spróbować włączyć/wyłączyć tabelę Przewijaj widok w powyższy sposób.

tableView.isScrollEnabled = false/ture 
Powiązane problemy