添加子视图后,UIButton无法单击

时间:2020-02-21 21:13:21

标签: ios swift uibutton subview

我在我的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 个答案:

答案 0 :(得分:1)

您的紧迫问题可以通过以下方式解决:

nibFile.isUserInteractionEnabled = false

这会使您要添加的子视图不响应轻击事件,因此轻击事件会“通过”子视图并“到达”按钮。

但是,如果您只想创建自定义UIButton,则应该继承UIControlUIButton的子类,并在xib文件中设计按钮本身。

答案 1 :(得分:0)

您可以在UIButton的图层下添加子视图图层。

myButtonView.insertSubview(nibFile, at: 0)