我无法在 iOS 12 或更早版本中设置 StackView 的 BackgroundColor

I can't set the BackgroundColor of a StackView in iOS 12 or older

我正在尝试设置 StackView 的 backgroundColor,它适用于 iOS 13 或更高版本,但在 iOS 12 上完全失败。虽然我没有使用任何相关设置,但可能与 darkMode 有关。

我试图在 VidDidLoad() 中设置颜色,但它也不起作用,我有点迷路,我寻找其他类似的问题,none 是相同的

查看代码

final class PaymentCashViewCode: UIView, ViewCodeProtocol {
var salesValueComponent: UIStackView = {
    let view = UIStackView()
    view.backgroundColor = UIColor(named: .greyRhino)
    view.isLayoutMarginsRelativeArrangement = true
    view.axis = .vertical
    return view
}() 
}

ViewController

class PaymentCashViewController: UIViewController {
var mainView = PaymentCashViewCode()

func setupComponents() {
    self.view.addAttrachedSubView(view: mainView)
    self.title = viewModel.getViewControllerTitle()
    mainView.delegate = self
    mainView.setTextFieldDelegate(delegate: self)
    mainView.setTextFieldFocus()
}
}

iOS 之前,14 堆栈视图是“non-rendering”视图——也就是说,它们只排列了它们的子视图。

iOS14开始可以设置背景颜色。

如果您需要早期版本的背景颜色,您需要将堆栈视图嵌入 UIView