小编典典

如何更改 UIStackView 的背景颜色?

all

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


阅读 156

收藏
2022-08-08

共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)
2022-08-08