私は少しイライラしています。メイン ウィンドウにステータスバーが表示されるアプリがあります。ビューとそのフレーム サイズを動的に設定したいので (たとえば、通話中にステータス バーが 40 ピクセルを占める可能性があります)。
私は2つのうちの1つを行うことができます:
[[UIScreen mainScreen] bounds];
[[UIScreen mainScreen] applicationFrame];
本当に厄介なのは、これら 2 つの出力が 2 つの異なる値のセットを出力し、それぞれが同じように役に立たないことです。
bounds
出力します: {{0, 0}, {320, 480}}
while
applicationFrame
出力します{{0, 20}, {320, 460}}
ご覧のとおりbounds
、正しい y 原点 (0 はステータスバーの真下から開始) を提供しますが、高さ 480 を提供しますが、これは正しくありません。ステータスバーが表示されているため、460 である必要があります。次にapplicationFrame
、ステータスバーの 20 ピクセル下から開始する (キャップがある) が、正しい高さを示します。しかし、とにかく 20 ピクセル押し下げると、あまり役に立ちません。
何か助けはありますか?