動機
Youtubeチャンネルの素材用にTinderの模擬アプリを作成する際、
View
の制約を設定するとき、結果として同じものがいくつかあり
どのパターンで制約を設定するか迷うことが個人的によくあります
->後になって設計や機能が詰まってきた時にあっちのパターンで制約かけておけばよかった。。。ということもしばしば。。
今後それをなるべく無くしたいので定期的にメモがわりに残します
状況と対策
superViewに対してViewにmarginをかける&中心は揃える
この場合パターンとして
-
中心座標を
superView
に揃える & Viewのwidth, heightをsuperView
のwidht, height-marginにする -
superView
に対してViewの縁(leading~bottom)をmargin分縮めたものにする
例
girlsViewArray[$0].leadingAnchor.constraint(equalTo: self.view.leadingAnchor, constant: 10.0).isActive = true
girlsViewArray[$0].trailingAnchor.constraint(equalTo: self.view.trailingAnchor, constant: -10.0).isActive = true
girlsViewArray[$0].topAnchor.constraint(equalTo: self.view.topAnchor, constant: 74.0).isActive = true
//84.0 = 44.0(navHeight) + 20.0(statusBarHeight) + 10(margin)
girlsViewArray[$0].bottomAnchor.constraint(equalTo: self.view.bottomAnchor, constant: -20.0).isActive = true
が挙げられると思います
個人的には
- 中心座標superView
に揃える & superView
のwidht, height-marginにする
->Viewの座標が動く時(ex.ドラッグや大きさの変化)
- superView
に対してmargin分縮めたものにする
->Viewの座標が動かないと決まっている時
またわかったら追記します