gpt4 book ai didi

ios - 如何获得从 UIView 到 ViewController 的按钮点击?

转载 作者:搜寻专家 更新时间:2023-11-01 05:55:52 25 4
gpt4 key购买 nike

我创建了包含一个标签和按钮的自定义 View 我在 UIView 类中为两者创建了 socket

enter image description here

我有一个 UIViewController,其中我有自定义 View 的 subview 现在我想更改标签名称并想在单击按钮时做一些事情。

let commonView = UINib(nibName: "CommonView", bundle: nil).instantiate(withOwner: nil, options: nil)[0] as! CommonView
firstView.addSubview(commonView)


commonView.lblCommon.text = "We can change label in particular Screen"

我可以更改标签文本,但如何在 UIViewcontroller 中获取按钮操作事件?

最佳答案

使用协议(protocol)

在你的自定义 View 中声明一个协议(protocol)

protocol CustomViewProtocol : NSObjectProtocol{
func buttonTapped()
}

现在在自定义 View 中创建一个变量

weak var delegate : CustomViewProtocol? = nil

在你的 viewController 中确认协议(protocol)

extension ViewController : CustomViewProtocol {
func buttonTapped() {
//do whatever u waana do here
}
}

在 View Controller 中将自己设置为委托(delegate)

let commonView = UINib(nibName: "CommonView", bundle: nil).instantiate(withOwner: nil, options: nil)[0] as! CommonView
firstView.addSubview(commonView)
commonView.delegate = self

最后在自定义 View 触发器委托(delegate)中按钮的 IBAction 中

self.delegate?.buttonTapped()

关于ios - 如何获得从 UIView 到 ViewController 的按钮点击?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46256065/

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