質問: !button.isHidden if !button.isHidden { self.tagDDIcon.setImage(#imageLiteral(resourceName: "dropup"), for: .normal) }else{ self.tagDDIcon.setImage(#imageLiteral(resourceName: "dropDown"), for: .normal) } self.view.layoutIfNeeded() }) } } } ``` ### UIイメージ これを ![before](https://teratail-v2.storage.googleapis.com/uploads/contributed_images/eb45f550b79e9ca9da3d2f1ace809e50.png) 押すとこうなります。 ![after](https://teratail-v2.storage.googleapis.com/uploads/contributed_images/870b7467082e505194730b364ee36724.png) AllはSBで上記のやり方で事前に作成してます ![buttons](https://teratail-v2.storage.googleapis.com/uploads/contributed_images/3388becaff7c48b335def8a425da963f.png) ### やりたいこと やりたいことは、タグの数(ドロップダウンアイテムの数)は可変なので、初期設定のAll以外のボタンはコードで実装する必要があります。 なので、オブジェクトをコードで作成してUI設定をし、stackViewのsubViewに追加してみましたが何も起きませんでした。 手助け願えると幸いです。 補足 -- constraintsは ##### stackview アイテム間のスペーサーは1 左右は横アイテムに7 ##### ボタンたち hight はそれぞれ 30 追記 -- `addArrangedSubView(button)`を試みたがドロップダウンでは追加されていませんでした。 オブジェクト自体はsubViewに追加されているようです。(printで確認) ``` [>, >, > ] ```
回答: UIStackViewに追加する場合はaddSubView()ではなく、addArrangedSubView()を使う必要があります。