为什么 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
我有一个带有 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