2016-08-08 7 views
2

CGRectは、幅、高さ、および矩形(形状)の正確な調整を指定するフレーム内で使用します。CGrectとIOSプロプログラマチックGUIデザインの制約?

UI要素の制約も1つずつ指定する必要がありますか?はいの場合、なぜ私は必要なのですか?デバイスの回転(ポートレートとランドスケープモード)はどうですか?別のポジショニングを定義する必要がありますか?

答えて

1

制約を定義する場合は、デザインにCGRectフレームを指定する必要はありません。実際にはNSLayoutConstraintsを使用するのが最良の方法です。理由は、CGRectフレームを設定した場合、CGRectが間違っている可能性がほとんどの場合、デバイスが回転している場合です。少なくともhightとwith。しかし、デバイスが回転しているときに制約を使用すると、自動的にサブビューがレイアウトされます。つまり、ビューは制約に従って再配置されます。

CGRectフレームを設定すると、制約に関係なくビューの位置と寸法が変更されます。次にview.layoutIfNeeded()に電話をかけたり、向きを変更しようとすると、前に設定したフレームに関係なく、制約に従って表示が再配置されます。

+1

非常にきちんとした答えですが、いくつかのコーディングサンプルが付属していれば素晴らしいでしょう;)@LIH –