2012-02-06 25 views
0

我有兩個觀點的屏幕:iOS版:在視野傳送滾動手勢另一個

  • 的UITableView中(的tableView)在右手邊,這需要在屏幕
  • 一個UIView的一半( controllerView)的左手側,是以屏幕

這裏的另一半是一個例子

Tranfer Scroll to TableView

我想要左視圖來「控制」UITableView:當用戶從上到下滾動時,它應該從上到下滾動UITableView,就好像用戶會做出相同的手勢但右手抵消。

我找到了similar question,但沒有答案。

回答

1

添加潤色處理方法您的控制視圖(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

的Y改變計算觸摸座標與

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

方法滾動的tableView。

+0

有趣的是,我試過這個,我用tableView的contentOffset來代替。它工作正常,但我想有減速效果。用UIGestureRecognizer這不可能嗎? – Julien 2012-02-07 17:13:27

+0

Nop。 嘗試設置tableView的contentOffset與動畫.. – miham 2012-02-09 19:01:53

+0

嗯事實上,這是可能的。使用UIPanGestureRecognizer可以免費獲得減速度,但使用動畫設置contentOffset並不是一個好主意,因爲如果用戶在tableView動畫時嘗試滾動,它會顯得不平穩。我不知道蘋果是怎麼做的,可能不是標準的動畫API。我接受了答案,因爲它讓我找到了解決方案,當我有時間時,我會發布更完整的東西。 – Julien 2012-02-09 21:38:46