如果我快速按下一个按钮,如何使另一个按钮出现

时间:2019-03-26 17:56:49

标签: swift

我正在尝试制作一个游戏,如果我按下一个按钮,它可以在另一个区域中产生另一个按钮,因此您可以单击并继续执行此操作,每次按下该按钮都应该得到一个分数。我不知道按下一个按钮时如何生成另一个按钮。

//这是代码

var monkeyPosition:Int = 1

ViewController类:UIViewController {

override func viewDidLoad() {
    super.viewDidLoad()
    view.backgroundColor = UIColor(white: 0.25, alpha: 1.0)
        view.backgroundColor = UIColor(white: 0.25, alpha: 1.0)
    view.addSubview(makeButtonSpawn())
    view.addSubview(makeButtonSpawn2())

}



@IBAction func monkeyPlayer(_ sender: UIButton) {
    if sender.tag == 1 && (monkeyPosition == 1) {
        makeButtonSpawn2().isHidden = false

    }


}



func makeButtonSpawn() -> UIButton {

    let monkey = UIButton(type: UIButton.ButtonType.system)
    //Set a frame for the button. Ignored in AutoLayout/ Stack Views
    monkey.frame = CGRect(x: 30, y: 30, width: 90, height: 90)
    monkey.backgroundColor = UIColor.blue

    makeButtonSpawn().isHidden = true
    return monkey
}

func makeButtonSpawn2() -> UIButton {
    let monkey = UIButton(type: UIButton.ButtonType.system)
    //Set a frame for the button. Ignored in AutoLayout/ Stack Views
    monkey.frame = CGRect(x: 80, y: 80, width: 90, height: 90)
    monkey.backgroundColor = UIColor.blue
 makeButtonSpawn2().isHidden = true
    return monkey

}

2 个答案:

答案 0 :(得分:1)

为按钮创建实例变量,然后就可以从类中的位置访问它们。您也可以在变量闭包内设置其属性,而不用声明方法

stream

下一步,您需要将按钮作为子视图添加到主fields中,并且需要为其添加目标

rules

最后,您可以在按下第一个按钮时取消隐藏第二个按钮

class ViewController: UIViewController {

    var button1: UIButton = {
        let button = UIButton()
        button.frame = CGRect(x: 30, y: 30, width: 90, height: 90)
        button.backgroundColor = .blue
        return button
    }()

    var button2: UIButton = {
        let button = UIButton()
        button.frame = CGRect(x: 80, y: 80, width: 90, height: 90)
        button.backgroundColor = .blue
        button.isHidden = true
        return button
    }()
}

答案 1 :(得分:0)

使选择器转到另一个函数,该函数创建一个函数并添加一个点。使用de选择器方法,不要忘记将@objc放在该函数的前面