UIButton не может щелкнуть после добавления подпредставлений - PullRequest
0 голосов
/ 22 февраля 2020

Я добавил подпункт к своему UIButton, который соответствует его содержанию, проблема в том, что я не могу слушать действие кнопки всякий раз, когда я нажимаю на нее, я думаю, потому что мой UIButton находится под подподображениями, которые я добавил, но Я не знаю, как я могу решить это.

Это мой код для добавления подпредставлений в моей кнопке

func setButtonContent(myButtonView: UIButton, textLabel: String, textViewDescription: String) {
    if let nibFile = Bundle.main.loadNibNamed("nibName", owner: self, options: nil)?.first as? FundTransferButton {
        nibFile.frame.size.height = myButtonView.frame.size.height
        nibFile.frame.size.width = myButtonView.frame.size.width
        nibFile.label.text = textLabel
        nibFile.textViewDescription.text = textViewDescription
        myButtonView.addSubview(nibFile)
    }
}

Я просто хочу создать пользовательскую кнопку с моим собственным дизайном в ней .

Ответы [ 2 ]

1 голос
/ 22 февраля 2020

Ваша непосредственная проблема может быть решена с помощью:

nibFile.isUserInteractionEnabled = false

Это делает добавляемое вами подпредставление не отвечающим на события касания, поэтому события касания "go через" подпредставление и "достигают "кнопка.

Если вы просто хотите создать пользовательский UIButton, вы должны создать подкласс UIControl или UIButton и создать саму кнопку в файле xib.

0 голосов
/ 22 февраля 2020

Вы можете добавить подвид слоя под слоем вашего UIButton.

myButtonView.insertSubview(nibFile, at: 0)
...