1. ホーム
  2. ios

[解決済み] UIStackViewの背景色を変更する方法を教えてください。

2022-04-21 19:36:29

質問

を変更しようとしたのですが UIStackView の背景をStoryboardインスペクタでクリアからホワイトに変更しましたが、シミュレーションするとスタックビューの背景色がクリアのままになってしまいます。

の背景色を変更するにはどうすればよいですか? UIStackView ?

解決方法は?

<ブロッククオート

こんなことできないよ〜。 UIStackView は非描画ビューであり、つまり drawRect() が呼び出されることはなく、その背景色は無視されます。もし どうしても背景色が必要な場合は、スタックビューの配置を検討します。 の中に、別の UIView で、そのビューに背景色をつけています。

参照元 こちら .

EDITです。

にサブビューを追加することができます。 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)