从包含 UIViewController 为 UIView 的 UIButton 分配回调
Posted
技术标签:
【中文标题】从包含 UIViewController 为 UIView 的 UIButton 分配回调【英文标题】:Assigning a callback to a UIView's UIButton from the containing UIViewController 【发布时间】:2016-01-28 23:19:00 【问题描述】:现在我有一个 UIViewController 子类,它承载了一个 UIView 子类。这个 UIView 有一个 UIButton,我希望将触摸事件发送到 UIViewController 子类。现在我在 UIView 子类中有一个 getter 方法,所以我抓住按钮并通过使用 UIViewController 子类中的引用来分配它。
实现此结果的最佳方法是什么?
【问题讨论】:
【参考方案1】:将动作事件添加到您的 ViewController
- (IBAction)myButtonPressed:sender;
现在,如果您使用的是 IB(您应该使用),只需将其链接起来,或者如果在代码中执行此操作,则手动创建事件链接。
[myButton addTarget:self action:@selector(myButtonPressed:) forControlEvents:UIControlEventTouchUpInside];
【讨论】:
按钮在 UIView 的层次结构中,除非我在 UIView 子类上调用 getter 方法,否则我没有直接引用它。 使用getter然后[myView.myButton addTaget:
我想我的问题是关于更好的方法。不是如何为按钮分配回调。抱歉,如果问题不清楚。
最好的方法是使用故事板或 nib 来构建视图。以上是关于从包含 UIViewController 为 UIView 的 UIButton 分配回调的主要内容,如果未能解决你的问题,请参考以下文章
将自定义 UITableViewCell 从 nib 加载到 Swift 中的 UIViewController
从父 UIViewController 类继承 UI 组件?
从 swiftUI 中的一个嵌入式 UIViewController 导航到 swift UI 中的另一个嵌入式 UIViewcontroller
从 UINavigationController 中弹出一个包含 UITabBarController 的 UIViewController