Xcode:如何为使用 Storyboard 创建的子视图设置委托?

Posted

技术标签:

【中文标题】Xcode:如何为使用 Storyboard 创建的子视图设置委托?【英文标题】:Xcode: how to set delegates for subviews created using Storyboard? 【发布时间】:2013-10-13 17:51:21 【问题描述】:

这是我的问题。

我有一个视图控制器,我在其中使用 UIView(顶视图和底视图)创建了 2 个视图,每个视图都有一个按钮。 我以编程方式与按钮一起生成顶视图,并设置委托。顶视图有效 - 当单击按钮时,我在 viewcontroller 的委托中看到 NSLog “按钮单击”。

我使用 Storyboard 创建了底部视图,以便我可以直观地看到视图和按钮位置。这不起作用。在它移交给视图控制器中定义的委托之前,我在与视图关联的按钮单击方法中也看不到按钮单击日志。

如何为使用 Storyboard 在子视图中创建的按钮和其他对象设置委托?

【问题讨论】:

你有多少个视图控制器类? 我有多个视图控制器,都由一个 tabview 控制器控制。所以,对于这个练习,它只是一个单一的视图控制器 【参考方案1】:

左键单击故事板文件中的(可视)UIButton。您将看到一个弹出的小菜单。该菜单将显示该对象的属性列表(包括委托属性)。然后只需右键单击委托属性,按住它并拖动它(会出现一条蓝线)并将其链接到对象的委托。

此链接也可能有帮助: http://www.raywenderlich.com/5138/beginning-storyboards-in-ios-5-part-1

【讨论】:

当 ctrl-单击 UIButton 时,delegate 属性不显示。还有其他属性:触发序列、出口集合、发送事件、引用出口、引用出口集合 不幸的是,我不允许发布图片来展示我的视图控制器,但这很简单——一个带有 UIView 的视图控制器,它占据了视图控制器的下半部分。 UIView 有一个按钮,我需要在 viewcontroller(也就是 superview)中响应它 更新:我可以将子视图中的按钮关联到其父视图中的方法(即单击子视图中的按钮,您将在视图控制器中激活一个方法)。但是,我希望在委派给超级视图之前在子视图本身中完成一些处理......这是我遇到问题的地方

以上是关于Xcode:如何为使用 Storyboard 创建的子视图设置委托?的主要内容,如果未能解决你的问题,请参考以下文章

如何为 iPhone Light 版本应用程序创建 xcode 项目?

如何为 Xcode 6.x 的 plist 创建自定义结构定义?

如何为 Swift 3 创建第一个视图

Xcode中不用Storyboard,用纯xib创建TabBar模式视图

如何为不同版本的 Xcode 编写条件

如何为使用 xib 用户界面创建的 TableViewController 设置静态表视图