2012-02-06 4 views
0

У меня есть экран с двумя видами:IOS: Перенести прокрутки Жест на Вид на другой

  • UITableView (Tableview) на правой стороне, которая занимает половину экрана
  • UIView (controllerView) на левой стороне, которая принимает другую половину экрана

Вот пример

Tranfer Scroll to TableView

Я хотел бы, чтобы левый вид «управлял» UITableView: когда пользователь прокручивает сверху вниз, он должен прокручивать UITableView сверху вниз, как если бы пользователь сделал тот же жест, но с правом смещение.

Я нашел similar question, но ответа нет.

ответ

1

Добавить прикосновения обработки методов вашего управления View (controllerView)

- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event; 
- (void)touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event; 
- (void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event; 

https://developer.apple.com/library/ios/#documentation/EventHandling/Conceptual/EventHandlingiPhoneOS/MultitouchEvents/MultitouchEvents.html

изменение Calculate от Y координаты прикосновения и прокручивать Tableview с

- (void)scrollRectToVisible:(CGRect)rect animated:(BOOL)animated 

методом.

+0

Интересно, я пробовал это, вместо этого использовал contentOffset tableView. Он отлично работает, но я хотел бы иметь эффект замедления. Не возможно ли это с помощью UIGestureRecognizer? – Julien

+0

Nop. Попробуйте установить tableView's contentOffset с анимацией .. – miham

+0

Ну на самом деле это возможно. С UIPanGestureRecognizer вы получаете бесплатное торможение, но настройка contentOffset с анимацией не такая хорошая идея, потому что если пользователь пытается прокручивать, когда tableView анимирует, он будет выглядеть отрывистым. Я не знаю, как это делает яблоко, возможно, не со стандартным API-интерфейсом. Я принял ответ, потому что он заставил меня найти решение, я отправлю что-то более полное, когда у меня будет время. – Julien

Смежные вопросы