Stack ViewでのLayoutAnchorを使ったボタンのサイズが設定できない
stac viewを親クラスとしたカスタムクラス上で、stack view内で表示させるためのボタンを作っています。
44.0×44.0の大きさの正方形にしたいのですが、ビルドすると期待する大きさにはならず、storyboard上の空のstack viewの枠いっぱいにボタンが広がって配置されてしまいます。
(storyboardでstack viewを大きくするとビルドした時にボタンも大きくなり、storyboardでstack viewを小さくするとボタンも小さくなるといった具合です。)
storyboard上のstack viewの大きさに関係なく具体的な値にボタンの大きさを設定するにはどうすれば良いのでしょうか
該当のソースコード
swift
1class RatingControl: UIStackView { 2 3 override init(frame: CGRect) { 4 super.init(frame: frame) 5 setupButtons() 6 } 7 required init(coder: NSCoder) { 8 super.init(coder: coder) 9 setupButtons() 10 } 11 @objc func ratingButtonTapped(button: UIButton) { 12 print("button tapped!") 13 } 14 15 private func setupButtons(){ 16 let button = UIButton() 17 button.backgroundColor = UIColor.red 18 button.translatesAutoresizingMaskIntoConstraints = false 19 button.heightAnchor.constraint(equalToConstant: 44.0).isActive = true 20 button.widthAnchor.constraint(equalToConstant: 44.0).isActive = true 21 button.addTarget(self, action: #selector(RatingControl.ratingButtonTapped(button:)), for: .touchUpInside) 22 addArrangedSubview(button) 23 }
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。