Height+Top または Height+BottomUIView
を持つの自動サイズ変更動作は何ですか? UIViewAutoresizing
これは理にかなっていますか?マージンの 1 つまたはビュー自体が優先されますか? 誤ってビューUIViewAutoresizing
を に設定したことを発見したところ、親のサイズが変更さUIViewAutoresizingFlexibleHeight | UIViewAutoresizingFlexibleTopMargin
れたときにビューのサイズが高さに変更されました。0
2 に答える
自動サイズ変更の仕組みは次のとおりです。
親ビューの高さが 400 で、ビューが y = 100、高さ = 200 に設定されているとします。
つまり、ビューの上に 100 ピクセル、ビューに 200 ピクセル、ビューの下に 100 ピクセルがあります。
flexibleHeight と flexibleTop を使用すると、親ビュー フレームが変更されたときに、下の 100 ピクセルを固定したままにし、残りを上余白と高さの間で比例的に分割することを意味します。
したがって、親の高さを 400 から 300 にすると、下余白に 100 が使用され、残りの 200 が比例して分割され、y = 66.666 と高さ = 133.333 が残ります。
高さを 400 から 100 に変更しても、下余白には 100 が使用され、上余白と高さには 0 のスペースが残され、y = 0、高さ = 0 のままになります。
UIViewAutoresizingFlexibleTopMargin
親ビューのサイズが変更されたときに下マージンを変更せずにUIViewAutoresizingFlexibleHeight
、残りの高さの親の高さに比例して高さを変更します。
の使用はあまり見られませんUIViewAutoresizingFlexibleHeight
。UIViewAutoresizingFlexibleTopMargin | UIViewAutoresizingFlexibleWidth
ただし、デバイスの向きに関係なく一定の高さで親ビューの下部に固定するテキストを含むビューを取得するために使用しました。