gpt4 book ai didi

ios - 在 UITableView 之上从 UIView 传递触摸事件

转载 作者:行者123 更新时间:2023-12-01 17:09:23 25 4
gpt4 key购买 nike

我正在尝试构建一个 UIView 覆盖它的自定义表格 View 。我正在尝试识别常规 UIView 上的特殊手势,特别是需要双击以激活它的平移手势(点击并按住,然后平移)。

我目前有一个自定义 UITableViewController,以及一个自定义 UIView。出于兼容性原因(易于替换现有的 UITableViewControllers),我想尝试将其保留为 UITableViewController 而不是 UIViewController 内的 UITableView。

我可以双击并平移没有问题,但问题是我实际上不能再在表格 View 中选择一行。我可以在表格内滚动,但实际选择不起作用。

理想情况下,我希望能够在任何自定义表格 View 单元格中保留所有点击、滑动和常规事件(例如,清除或邮箱,您可以在其中向左或向右滑动以激活特定操作)。

我知道我可以从方法 indexPathForRowAtPoint: 中获取表格 View 单元格
从表格 View 中,但这只会让我选择切换。

我也试图覆盖这样开始的触摸:

-(void) touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event{
[self.nextResponder touchesBegan: touches withEvent: event];
}

以及其他相关的事件,并且已经确认 nextResponder 是自定义的 UITableViewController,但是还没有做任何事情。

我检查了一堆其他帖子,但没有解决方案对我有用。我尝试过的其他一些事情是:
  • 添加单击手势识别器并将其转发到 UITableViewController
    [_containingTableViewController gestureRecognizerShouldBegin: tapGesture];
  • 实现了不同的手势识别器委托(delegate)
    -(BOOL) gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldReceiveTouch:  (UITouch *)touch{
    return ( touch.tapCount >= 2 );
    }

    以及 YES 和 NO:
    -(BOOL) gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldRecognizeSimultaneouslyWithGestureRecognizer:(UIGestureRecognizer *)otherGestureRecognizer

  • 此外,在表格 View 中,我尝试设置 canCancelContentTouches但是这两个值都不起作用。

    任何帮助将不胜感激,我已经尝试了很多,但就是无法得到它!

    如果确实需要完成,我也许可以在 GitHub 上发布完整的项目,但我必须先清理一下。

    谢谢!

    最佳答案

    没看懂你的问题,不知道能不能帮到你,你可以用setUserInteractionEnabled的方法* 至 FALSE/NOUIView , UITableView等以禁用其上的任何类型的事件。

    关于ios - 在 UITableView 之上从 UIView 传递触摸事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16292436/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com