gpt4 book ai didi

ios - 无法让 UISwipeGestureRecognizer 工作

转载 作者:行者123 更新时间:2023-11-28 22:32:41 25 4
gpt4 key购买 nike

我在我的应用程序上制作了一个侧边栏,这样当您向右滑动时它就会打开,我在我制作的名为侧边栏的对象中使用了这段代码:

_swipeRecognizer = [[UISwipeGestureRecognizer alloc] initWithTarget:self.superview action:@selector(swiped)];

[_swipeRecognizer setDirection: UISwipeGestureRecognizerDirectionRight];

[self.superview addGestureRecognizer:_swipeRecognizer];

这当然会崩溃并抛出错误:

[UIView swiped]: unrecognized selector sent to instance 0x1fdbd0c0

因为它在 self.superview 上寻找“滑动”方法,而我希望它在 self 上寻找方法,但我希望在 self.superview 上检测手势。

我也很困惑,如果我设置了 initWithTarget 那么为什么我必须执行 addGestureRecognizer?这两个东西有什么区别?

最佳答案

改变这个:

_swipeRecognizer = [[UISwipeGestureRecognizer alloc] initWithTarget:self.superview action:@selector(swiped)];

到:

_swipeRecognizer = [[UISwipeGestureRecognizer alloc] initWithTarget:self action:@selector(swiped)];

initWithTarget:action: 的调用指定了被告知手势事件的类。 “目标”必须实现“ Action ”方法。

调用 addGestureRecognizer: 指定手势必须发生在哪个 View 上。

在许多情况下,它们是相同的,但在您的情况下,它们是不同的。

关于ios - 无法让 UISwipeGestureRecognizer 工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16973451/

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