ios - View 中的手势识别器并使用 View Controller 作为目标,我的设计是否错误?

标签 ios swift model-view-controller uigesturerecognizer

我正在创建一个纸牌游戏 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/

相关文章:

ios - 升级旧的 Xcode 项目

iOS:UITableView 滚动条被 subview 隐藏

swift - FSCalendar - 使用 Swift 更改特定日期的标题颜色

ios - 快速解析 xml 响应 odoo

Swift 获取今天之前五年的日期

php - 无法让 Controller 工作 - MVC

ios - 我如何摆脱 iOS 7 Objective-C 中的这个警告?

ios - 如何仅在 Debug模式下启用3D触摸(静态快速操作)?

php - Codeigniter 多个 Controller 与许多方法?

c# - 从 DAL 或域或等效项返回 SelectListItem