2012-02-06 67 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