UIButton添加子View后无法点击

UIButton can't click after adding subViews

我向我的 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)
    }
}

我只想用我的自定义设计创建一个自定义按钮。

您眼前的问题可以通过以下方式解决:

nibFile.isUserInteractionEnabled = false

这会使您添加的子视图不响应点击事件,因此点击事件 "go through" 子视图和 "arrive at" 按钮。

如果您只想创建一个自定义 UIButton,您应该子类化 UIControlUIButton,并在 xib 文件中设计按钮本身。

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

myButtonView.insertSubview(nibFile, at: 0)