【发布时间】:2017-09-06 18:07:45
【问题描述】:
我在尝试禁用按钮与另一个视图控制器中的一个视图控制器的用户交互时遇到问题。
我在这里搜索过类似的问题,但有些问题似乎已经过时或不适合我: How to access an IBOutlet from another class.
我的场景如下:
class ViewControllerA() {
@IBOutlet weak var btnFirst: UIButton!
@IBOutlet weak var btnSecond: UIButton!
@IBOutlet weak var btnThird: UIButton!
override func viewDidLoad() {
var vcB = ViewControllerB()
vcB.closure = {
// Meet some condition, want to disable buttons of ViewControllerA here
}
}
}
class ViewControllerB() {
var closure: () -> Void = {}
// Do something with closure here
}
我的问题是我在闭包中设置断点并尝试在闭包中直接使用 IBOulet 来禁用按钮,例如:
btnFirst.isUserInteractionEnabled = false
或者尝试在 ViewControllerB 的闭包中设置 ViewControllerA 的一个属性,并使用属性观察器,每当这个属性发生变化时,启用或禁用 ViewControllerA 的按钮。
我的问题是,我仍然可以像启用一样单击按钮。抱歉,我无法发布代码,请帮助我!
谢谢
【问题讨论】:
-
你需要发布你在做什么的代码!否则我们将无法看到您犯了什么错误!