0

私が書いている iPad アプリで奇妙な問題が発生しています。

UIToolbar をメイン ビュー コントローラー (アプリ デリゲートでルート ビュー コントローラーとして設定) に追加したいと考えています。このメイン ビュー コントローラー内では、横向きのみをサポートしています。ただし、ツールバーのフレームを設定すると、iPad はまだポートレート モードであると認識しているようです。これが意味するのは、次の行を実行したときです。

[_toolbar setFrame:CGRectMake(0, 0, [[self view] frame].size.width, 44)];

この時点での画面の幅は明らかに 1024 ですが、ツールバーの幅は 1024 ではなく 768 しかありません。これは、ツールバーが画面の 2/3 しか広がっていないためです。サブビューの配置で同様の問題が発生し、メインのビュー コントローラーで非常に奇妙な配置になります。

他の誰かがこのような問題に遭遇しましたか? もしそうなら、どのように修正しましたか?ありがとう!

4

1 に答える 1

1

フレームではなくビューの境界を使用する必要があり、ビューのライフサイクルの早い段階でコードを実行しないでください。

コントロールのviewDidAppearからコードを呼び出すと、うまくいくと思います。しかし、viewWillAppearからコードを呼び出すのは時期尚早です。

于 2013-04-22T19:40:54.163 に答える