0

IB ビューが 4 インチ サイズに設定された UIViewController があり、addChildViewController (Facebook/Path のようなスライダー メニュー) を使用して UINavigationController を追加しているため、ここには特別なケースがあると思います。私が今直面している問題は、アプリを実行すると、設定時に UINavigationController ビューの高さが 372 になることです

containerViewController.view.frame = CGRectMake(0, 0, 320, 460);

3.5 インチ デバイスで 460 の正しい高さを取得するには、高さを 548 に設定する必要があります。どうすれば修正できますか?

シミュレーターのスクリーンショット

UIBarButtonItem にイベントを登録して、画面をスライドさせます

[UIView animateWithDuration:0.3 delay:0 options:UIViewAnimationOptionCurveEaseInOut animations:^{
            self.navigationController.view.frame = CGRectMake(268, 0, 320, 460);
        } completion:^(BOOL finished){ }];

ボタンをクリックすると、UIView は正しい高さに設定されますが(268, 0, 320, 460)、CGRectMake とまったく同じサイズを使用しています。

後でフレームを設定しているとき

[self.window makeKeyAndVisible];

高さに460を使用して動作していますが、なぜこれが動作しているのか、iOSは後でディスプレイサイズの調整を行っていると思いますmakeKeyAndVisible

4

0 に答える 0