gpt4 book ai didi

ios - 如何让 Controller 处理 View 中添加的手势? iOS

转载 作者:行者123 更新时间:2023-11-28 19:56:59 25 4
gpt4 key购买 nike

我得到了一张由自定义 View 绘制的卡片。我想为每张卡片添加滑动手势以进行翻转和选择。由于每个卡片 View 都需要手势,所以我选择在 View 的initWithFrame:方法中添加手势。但是,我想把它留给我的 Controller 来处理这个手势,因为在我的 Controller 中选择卡片是一种方法。这是我的代码:

[self addGestureRecognizer:[[UISwipeGestureRecognizer alloc] initWithTarget:self action:@selector(swipe:)]];

实际上我需要目标是我的 Controller ,我想在我的 Controller 中调用一个名为swipe 的方法。目标 self 只留下手势的处理来查看自己。

也许我不能简单地让我的 Controller 替换目标。谁能告诉我解决这个问题的正确方法?

最佳答案

你的 View 不应该知道它的 Controller 是什么。 (这会增加耦合并降低内聚性,这是不好的。)

这个问题的一个常见解决方案是为您的 View 声明一个委托(delegate)协议(protocol)。您的 View Controller 可以将自己设置为 View 的委托(delegate)。然后,您 View 的 swipe: 方法将调用委托(delegate)方法。

示例代码,参见this question .

关于ios - 如何让 Controller 处理 View 中添加的手势? iOS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25937037/

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