Создайте переменные экземпляра для ваших кнопок, тогда вы сможете получить к ним доступ из мест в вашем классе. Также вы можете установить его свойства в закрытии переменной вместо объявления метода
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
}()
}
Далее вам нужно добавить свои кнопки в качестве подпредставлений к основному view
, и вам нужно добавить цель для них
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(button1)
view.addSubview(button2)
button1.addTarget(self, action: #selector(button1Pressed(_:)), for: .touchUpInside)
button2.addTarget(self, action: #selector(button2Pressed(_:)), for: .touchUpInside)
}
@objc func button1Pressed(_ sender: UIButton) {
}
@objc func button2Pressed(_ sender: UIButton) {
}
Наконец, вы можете отобразить вторую кнопку при нажатии первой кнопки
@objc func button1Pressed(_ sender: UIButton) {
if monkeyPosition == 1 {
button2.isHidden = false
}
}