一尘不染

如何更改UIStackView的背景颜色?

swift

我试图UIStackView在Storyboard检查器中将背景从透明更改为白色,但是在模拟时,堆栈视图的背景颜色仍然具有清晰的颜色。
如何更改的背景颜色UIStackView


阅读 555

收藏
2020-07-07

共1个答案

一尘不染

您不能执行此操作– UIStackView是非绘图视图,这意味着drawRect()从不调用该视图,
并且其背景颜色将被忽略。如果您非常需要背景颜色,请考虑将堆栈视图放置在另一个视图中UIView,并为该视图提供背景颜色。

参考从这里

编辑:

您可以在此处或下面的答案中(如下)将subView添加到其中UIStackView,并为其分配颜色。请查看以下内容:extension

extension UIStackView {
    func addBackground(color: UIColor) {
        let subView = UIView(frame: bounds)
        subView.backgroundColor = color
        subView.autoresizingMask = [.flexibleWidth, .flexibleHeight]
        insertSubview(subView, at: 0)
    }
}

您可以像这样使用它:

stackView.addBackground(color: .red)
2020-07-07