我有三个按钮可以改变背景的颜色。我想在推动时隐藏红色按钮。如果按下绿色或蓝色按钮,则显示它。 绿色和蓝色按钮也是如此。
我无法找到拨打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))")
}
答案 0 :(得分:0)
您需要为每个按钮创建一个IBOutlet才能访问" isHidden"属性。现在你只为每个人定义了一个IBAction(至少在你提供的代码中)。要创建IBOutlet,请从按钮控制拖动到视图控制器的代码,类似于您创建已有的IBActions所做的操作。在弹出窗口中,确保" Connection"说" Outlet"和"键入"是" UIButton"。根据需要命名它们(例如,redButton,blueButton)。然后你可以输入" redButton.isHidden = true"在适当的位置。
IBAction仅允许您控制按钮按下时的操作。需要IBOutlet才能访问UIButton的属性。