我正在创建一个纸牌游戏 IOS 应用程序(“Set”纸牌游戏)。
在我当前的设计中,我的 ViewController 创建了一个 View (PlayingBoardView),该 View 实际上创建了 subview (CardsViews)。当我现在想要将 UITapGestureRecognizer 添加到卡片(以便能够选择它们)时,我希望卡片以我的 ViewController 为目标并选择我在那里的“touchCard”功能。
我的问题是我的 PlayingBoardView(创建 GestureRecognizer 的位置)中没有对 ViewController 的引用。
因此我的问题是:
1:当我添加 GestureRecognizer 时,是否有办法让在另一个 View 中创建的 View 以我的 ViewController 为目标?
或2:这是一个设计问题吗?我的 ViewController 是否应该创建 PlayingBoard,然后添加卡片并以这种方式能够使用 self。
我是 Swift 新手,也是 StackOverflow 新手,所以如果这个问题的表述不正确,我深表歉意。
谢谢,
最佳答案
这是委托(delegate)
模式的工作。
包含 touchCard
函数的 ViewController 应在 View 实例化期间指定为每个 CardView
的委托(delegate)
。然后您可以直接从 View 调用该函数。
关于ios - View 中的手势识别器并使用 View Controller 作为目标,我的设计是否错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55562825/