0

ビューコントローラ内に2つの子ビューを作成し、2つの異なるボタンに基づいて相互に交換しました。

a la、ボタン1はchildview1などを表示します。

ただし、アプリを横向きモードで起動し、viewDidAppearで子ビューの境界を出力すると、境界はまだ正しくありません。

だから基本的に、

  1. ビューコントローラのviewDidAppearメソッドで、2つの子ビューを作成し、すぐにビューコントローラの境界をここに出力します。それらは正しいです。

  2. childviewcontrollerのviewDidAppearメソッドでは、親に対して正しいことがわかった後も境界を出力しますが、それでも正しくありません。

したがって、出力は次のようになります。

ViewController Bounds Height2:748.000000 Width: 1024.000000   
Child Bounds Height:1004.000000 Width: 768.000000

アプリが読み込まれると、ビューコントローラーのサイズは正しくなりますが、子は正しくありません。

何か案は?作成時に子の境界を設定する方法はありますか?

ありがとう

4

1 に答える 1

0

問題は、子View Controllerの外側のどこからでも子View Controllerのビューのフレームを設定しないことだと思います。親ビュー コントローラーのviewDidLoadメソッド (または必要viewDidAppearに応じてメソッド) 内で、子ビュー コントローラーが初期化された後、親ビュー コントローラーの を使用してフレームを設定しますbounds

たとえば、親ビュー コントローラーのviewDidLoadメソッドに次のように記述できます。

childViewController.view.frame = CGRectMake(0, 50, self.view.bounds.size.width, self.view.bounds.size.height - 50);
于 2013-01-23T20:33:03.013 に答える