gpt4 book ai didi

ios - 如何停止触摸Ended : withEvent: propogate from subView to ViewController?

转载 作者:行者123 更新时间:2023-11-29 00:29:30 26 4
gpt4 key购买 nike

我有一个 View 被添加为 viewController 的 subview 。这个 subview 和viewController都实现了这个方法

- (void)touchesEnded:(NSSet<UITouch *> *)touches withEvent:(UIEvent *)event

我发现当我点击 subview 时,这两个方法都会被调用。我只想调用 subview 的 touchesEnded。如何很好地实现这一目标? (不要在其中添加手势)

touchesEnded 中,apple doc 说“如果您在不调用 super(一种常用模式)的情况下覆盖此方法,则还必须覆盖其他处理触摸事件的方法,如果仅作为 stub (空)实现。”

还有什么方法?

最佳答案

你很接近!

为了防止将触摸事件传递给 superview,您应该重写触摸事件的所有方法。将所有触摸事件方法添加到您的 subview 中,然后您应该就可以了。

- (void)touchesBegan:(NSSet<UITouch *> *)touches withEvent:(UIEvent *)event {

}

- (void)touchesMoved:(NSSet<UITouch *> *)touches withEvent:(UIEvent *)event {

}

- (void)touchesEnded:(NSSet<UITouch *> *)touches withEvent:(UIEvent *)event {

}

- (void)touchesCancelled:(NSSet<UITouch *> *)touches withEvent:(UIEvent *)event {

}

关于ios - 如何停止触摸Ended : withEvent: propogate from subView to ViewController?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42245337/

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