почему я не могу нажать uibutton в симуляторе, но я могу на моем оборудовании iPhone? - PullRequest
0 голосов
/ 20 января 2020

У меня есть две кнопки в верхней части моего контроллера вида, который представлен модально. Странно то, что кнопки вообще не выбираются, когда я нажимаю на них в симуляторе. Кнопки не вызывают проблем при использовании их на моем iPhone.

btn.addTarget(self, action: #selector(sendTapped), for: .touchUpInside)

. Таким образом я добавляю свою функцию к кнопке

Весь код кнопки:

let post: UIButton = {
        let btn = UIButton()

        btn.frame = CGRect(x: 0, y: 0, width: 60, height: 30)
        btn.setTitleColor(UIColor.lightGray.adjust(by: 20), for: .normal)
        btn.isEnabled = false
        btn.setTitle("Post", for: .normal)
        btn.titleLabel?.font = UIFont.systemFont(ofSize: 20, weight: .bold)
        btn.addTarget(self, action: #selector(sendTapped), for: .touchUpInside)

        return btn
    }()

enter image description here

Ответы [ 2 ]

0 голосов
/ 20 января 2020

Похоже, мне нужно было изменить iPhone на X с 8 в симуляторе, чтобы решить мою проблему.

0 голосов
/ 20 января 2020

Возможные причины:

  • контроллер представления переопределяет метод touchesBegan (_: with :), который не вызывает супер.

  • UIView Для userInteractionEnabled установлено значение false для этой кнопки через InterfaceBuilder или программно

  • кнопка находится ниже представления, для которого userInteractionEnabled имеет значение false

...