gpt4 book ai didi

ios - 将 IBDesignable 中的操作 UIButton 转发给父 Controller

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

假设我有一个如下所示的 View 层次结构:

-- > UIViewController (myViewController)
---- > UIView (IBDesignable - myCustomView)
------- > UIButton (myButton)

有没有办法告诉 myViewController myButton 已被用户交互触发,例如 .touchUpInside, "没有“使用 SwiftObjective C委托(delegate)模式

请注意 myCustomView 是一个 IBDesignable。

最佳答案

例如,使用 IBOutlet 在您的 viewController 上声明 UIButton 变量。

@IBOutlet weak var button: UIButton!

你可以只使用目标 - Action 模式。只需将其添加到您的 viewController 中即可。

button.addTarget(self, action: #selector(handleButtonTouch(_:)), for: .touchUpInside)

并在 viewController 上声明你的函数

 func handleButtonTouch(_ button: UIButton) {
print("button has been pressed")
}

编辑

您还可以直接从 Interface Builder 声明一个 IBAction 函数。

单击您的 UIButton 实例,按住键盘上的 CTRL 键,然后将其拖到您的 UIViewController 子类中。

可设置的属性:

Connection: Action
Name: function name, something like `handleButtonTouch`
Type: UIButton
Event: the event you would like the function to be fired, in your case it is `Touch Up Inside`

enter image description here

关于ios - 将 IBDesignable 中的操作 UIButton 转发给父 Controller ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41698882/

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