检测 UIScrollView 中的滚动事件并发送到 UITableView 或其他 UIScrollView

Posted

技术标签:

【中文标题】检测 UIScrollView 中的滚动事件并发送到 UITableView 或其他 UIScrollView【英文标题】:Detect scroll event in UIScrollView and send to UITableView or other UIScrollView 【发布时间】:2011-01-13 18:47:09 【问题描述】:

我有问题。我有一个 UISCrollView,当用户触摸 scrollView 并将这些 scrollMove 发送到其他 ScrollView o TableView 时,我需要获取事件。

如何将 ScrollView 中的移动捕获发送到其他 ScrollView 或 TableView 以进行这些移动。

对于简单的触摸,我使用 touchesBegan、touchesMoved 和 touchesEnded,但 touchesMove 在 UIScrollView 中不起作用,并且无法将这些移动发送到其他 ScrollView 或 TableView。

我举个例子。我需要将 secondView 滚动视图冲突区域中的滚动事件发送到 tableView 以便在 tableView 中滚动。

     First View
     -----------------------------
     -         -                 - 
     -         -                 - 
     -    T    -                 - 
     -    A    -                 - 
     -    B    -                 - 
     -    L    -                 - 
     -    E    -                 - 
     -    V    -                 - 
     -    I    -                 - 
     -    E    -                 - 
     -    W    -                 - 
     -         -                 - 
     -         -                 - 
     -----------------------------


    Second View  --> ##### is the ScrollView area on tableView FirstView
     -----------------------------
     -   -######                 - 
     -   -######                 - 
     -   -######                 - 
     -   -######                 - 
     -   -######                 - 
     -   -######   SCROLL        - 
     -   -######    VIEW         - 
     -   -######                 - 
     -   -######                 - 
     -   -######                 - 
     -   -######                 - 
     -   -######                 - 
     -   -######                 - 
     -----------------------------

     ###### I need scroll on this area and send the moviment to back tableView.

感谢您的帮助!

【问题讨论】:

您的问题非常难以理解。请改写。 你的问题很难理解,但让我试着总结一下:你正试图从 # 标记表示的 UIScrollView 中获取触摸事件,并将这些触摸事件发送到 UITablView 以使 UITableView 滚动作为 UISrollView 的比例量? 【参考方案1】:

嗨,

UITapGestureRecognizer *singleTap = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(singleTapGestureCaptured:)];
[scrollView addGestureRecognizer:singleTap];    

你可以在这个方法中进行触摸

- (void)singleTapGestureCaptured:(UITapGestureRecognizer *)touch
 
CGPoint touchPoint=[gesture locationInView:scrollView];

(Scroll View Touches) 的副本

【讨论】:

以上是关于检测 UIScrollView 中的滚动事件并发送到 UITableView 或其他 UIScrollView的主要内容,如果未能解决你的问题,请参考以下文章

UIScrollView - 检测layoutSubviews中的滚动与方向变化?

如何检测来自两个 UIScrollView(超子)的滚动事件

目标 C:检测 UIScrollView 上的触摸事件

UiScrollview scrollviewDidScroll 检测用户触摸

UIScrollView 中的触摸事件发送到后面的 tableview

UIScrollView 检测滚动