我有三个按钮可以改变背景的颜色。我想将红色按钮按下时隐藏。如果按下绿色或蓝色按钮,则该节目。绿色和蓝色按钮也是如此。
我找不到致电removeFromSuperview
的方法。在Objectivec中,我曾经做mybutton.hidden = true
但这不起作用。
ViewController: UIViewController {
@IBAction func RED(_ sender: Any) {
print("background was (String(describing: self.view.backgroundColor))")
self.view.backgroundColor = UIColor.red
print("background is now (String(describing: self.view.backgroundColor))")
}
@IBAction func GREEN(_ sender: Any) {
print("background was (String(describing: self.view.backgroundColor))")
self.view.backgroundColor = UIColor.green
print("background is now (String(describing: self.view.backgroundColor))")
}
@IBAction func BLUE(_ sender: UIButton) {
print("background was (String(describing: self.view.backgroundColor))")
self.view.backgroundColor = UIColor.blue
print("background is now (String(describing: self.view.backgroundColor))")
}
您需要为每个按钮创建一个IBOUTLET,以访问" Ishidden"属性。现在,您只为每个定义一个IBACTION(至少在您提供的代码中(。要创建IBOUTLET,请使用从按钮到视图控制器的代码的Control-Drag,类似于您为创建已经拥有的Ibactions所做的工作。在弹出窗口中,请确保"连接"说"出口"one_answers"类型"是" uibutton"。将它们命名为需要的(例如,Redbutton,Bluebutton(。然后,您可以在适当的位置键入" RedButton.ishidden = true"。
IBACTION仅允许您控制按下按钮时的操作。访问Uibutton的属性需要一个IBOUTLET。