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
,您应该子类化 UIControl
或 UIButton
,并在 xib 文件中设计按钮本身。
您可以在您的 UIButton 层下添加子视图层。
myButtonView.insertSubview(nibFile, at: 0)
我向我的 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
,您应该子类化 UIControl
或 UIButton
,并在 xib 文件中设计按钮本身。
您可以在您的 UIButton 层下添加子视图层。
myButtonView.insertSubview(nibFile, at: 0)