2

ランドスケープモードでViewController.View.frame.size.widthとheightを使用すると、それぞれ768と1024が表示されますが、ストーリーボードの「サイズインスペクター」からは1024と768が表示されます。なぜこれが起こっているのか誰かが知っていますか?

4

2 に答える 2

8

これはiOSの奇妙な(バグ?)です。しかし、私は非常に多くの人々が厄介な回避策を実行していることを賭けたいと思います(たとえば、デバイスの向きを調べ、横向きの場合は、とを反転しますwidthheight、Appleがこれをあえて修正するかどうかはわかりません。

奇妙な動作の例として、たとえば、ナビゲーションコントローラがある場合、frame.sizeポートレートモードからランドスケープモードに移行するときに正しいことがわかりますが、ナビゲーションコントローラがない場合は正しくありません。幅と高さだけを探している場合はbounds.size、代わりに頻繁に取得できます。これは、関係なく、適切に更新されているように見えます。

于 2012-11-17T06:26:43.703 に答える
4

frameビューのディメンションにを使用することはできません。を使用する必要がありますbounds。詳細はこちら:私のself.viewのサイズが間違っています

于 2012-11-17T06:34:53.213 に答える