gpt4 book ai didi

ios - 从按钮访问 View Controller

转载 作者:行者123 更新时间:2023-11-28 16:02:10 25 4
gpt4 key购买 nike

我有 ButtonClass,它实现了 buttonTapped 方法。

按钮本身在 View 上。按下按钮时我需要添加一个额外的层但是我无法访问 ButtonClass 中的 self 因为 self 是一个按钮而不是 View ......基本上我需要访问 viewController 中的 self.view 但那是另一个类(class)。如果我像 viewController() 这样创建一个新实例,它将无济于事,因为它不会是同一个实例。

最佳答案

如果您要从自定义按钮类添加 buttonTapped 方法,那么您需要创建一个委托(delegate),并在用户调用 buttonTapped 方法时调用该委托(delegate)方法。

在您的自定义按钮类中

protocol YourCustomButtonDelegate {
func changeSomethingInTheView()
}

class YourCustomButtonClass {

var delegate: YourCustomButtonDelegate?

func buttonTapped(_ sender: AnyObject) {
if let delegate = delegate {
delegate.changeSomethingInTheView()
}
}
}

在 ViewController 中

class ViewController: UIViewController, CustomCellDelegate {

@IBOutlet weak var button: YourCustomButton!

override func viewDidLoad() {
super.viewDidLoad()

button.delegate = self
}

func changeSomethingInTheView() {
// write your code here...
}
}

关于ios - 从按钮访问 View Controller ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40852257/

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