0

ビューコントローラーを配置するために2つのアプローチを使用しています

アプローチ 1: UIViewController を取得し、以下のようにビューコントローラーをプッシュします。[self.navigationController pushViewController:myViewController animated:YES];

アプローチ2:UIViewcontrollerを使用してから使用しています

[self presentModalViewController:myViewController animated:YES];

Approach1 "myViewController"ビューサイズを使用している間、ポートレートは768 * 1024で、ランドスケープは1024 * 768になります。しかし、Approach2は最初のアプローチのように期待されるサイズを提供していません。 768*1024

問題: 2 番目のアプローチの問題は何ですか? 問題を解決する解決策はありますか。

プロジェクトでは、2 番目のアプローチのみを使用する必要があります。しかし、正しい寸法を取得する必要があります。いくつかの提案をしてください。

私のViewcotrollers階層:

1)私のプロジェクトは UITabBarViewController に基づいており、縦向きのみに制限されています。

2) UITabBarButton の 1 つが別の ViewController をロードします ( BookBagViewController *bookBagViewController = [[BookBagViewController alloc] init]; theNavigationController = [[UINavigationController alloc] initWithRootViewController:bookBagViewController];)

3)BookBagViewController も縦向きに制限されています。

4) BookBagViewController には 1 つのボタンが含まれており、クリックすると下のコードが実行されます

MyViecontroller *viewer = [[MyViecontroller alloc] initWithNibName:@"MyViecontroller" bundle:nil];
[self presentModalViewController:viewer animated:YES];

5) MyViecontroller は期待どおりにすべての方向をサポートしていますが、印刷 (デバッグ) 中に正確なフレーム サイズを提供しません。

6) 返品の場合、以下の行を使用しています

[self dismissModalViewControllerAnimated:YES];

詳細については、上記の手順で提供しました。長くなりますが、ご了承ください。

4

1 に答える 1

0

最初のアプローチ:

UIViewControllerの内側を押していUINavigationControllerます。UIView(のルートである)のサイズに加えて、のUIViewControllerサイズも覚えておく必要があります。UINavigationBarUINavigationController

2番目のアプローチ:

画面にフルサイズでUIViewController表示しています(何にも入れていません)。

あなたの問題に関しては、サイズが実際に向きに従って更新されていないのは少し奇妙です。それらの値をどこに印刷しているかを示していただけますか?

于 2012-06-05T14:04:57.330 に答える