为什么 Button SubView 不会在 swift 4 中走到后面?

why Button SubView will not go to the back in swift 4?

我有一个带有 xib 文件的视图 class,所以我想在按钮的背景中使用这个视图,所以我使用了子视图,但问题是按钮的子视图将在按钮的前面所以我不能再点击按钮 我使用了 UI 调试模式,我意识到按钮在视图的后面所以我在我的代码中使用了 send to back 但视图仍然在按钮的前面!

 let adsView = videoAdsView()
func adsOutlet() {
    self.adsView.frame = CGRect(x: 0, y: 0, width: 80, height: 80)
    self.showAdsOutlet.addSubview(adsView)
    self.showAdsOutlet.sendSubview(toBack: self.adsView)
}

override func viewDidLayoutSubviews() {
    super.viewDidLayoutSubviews()
    adsOutlet()
}

如果您想将按钮添加为背景视图的子视图,那么您可以这样做,您的按钮将位于背景之前:

self.backgroundView.addSubview(adsButton)

如果你不希望 adsButton 作为 backgroundView 的子视图,但你想确保它出现在 backgroundView 的前面,那么假设两者都是子视图的parent view 这样做:

self.view.sendSubview(toFront:adsButton)

请试试这个代码:

清除按钮 background color。 然后写这段代码:

self.view.bringSubview(toFront: showAdsOutlet)

可能对你有帮助。谢谢

将以下代码放在 adsOutlet 方法的末尾:

self.adsView.isUserInteractionEnabled = false