按下时隐藏UIButton,然后在按下另一个按钮时显示它

时间:2017-06-24 14:44:08

标签: ios swift

我有三个按钮可以改变背景的颜色。我想在推动时隐藏红色按钮。如果按下绿色或蓝色按钮,则显示它。 绿色和蓝色按钮也是如此。

我无法找到拨打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))")
}

1 个答案:

答案 0 :(得分:0)

您需要为每个按钮创建一个IBOutlet才能访问" isHidden"属性。现在你只为每个人定义了一个IBAction(至少在你提供的代码中)。要创建IBOutlet,请从按钮控制拖动到视图控制器的代码,类似于您创建已有的IBActions所做的操作。在弹出窗口中,确保" Connection"说" Outlet"和"键入"是" UIButton"。根据需要命名它们(例如,redButton,blueButton)。然后你可以输入" redButton.isHidden = true"在适当的位置。

IBAction仅允许您控制按钮按下时的操作。需要IBOutlet才能访问UIButton的属性。