0

誰かが助けてくれることを願っています:

私は自分のアプリを iPhone 5 に移植しました。すべてのビューは横向きのみで、IB で幅を 568 ピクセルに設定しました。アプリを起動すると、メイン ビューが全幅で正しく表示されます。しかし、presentViewController を使用して SettingsView を呼び出すと、460 ピクセル / 3.5 インチ モードで表示されます。SettingsView を閉じると、メイン ビューのツールバーも 460 ピクセルに縮小されます。ただし、描画するグラフィックはまだ 568 ピクセルです。幅。

Settings ビューの Controller の viewDidLoad メソッドで NSLog(@"%f", self.view.frame.size.width) を実行したところ、568.0 が出力されました。これは、ビュー自体が 568 幅であることを「認識」していることを意味します。それでも460pxしか表示されません。

そして、ここにコードがあります-派手なことは何もありません....

- (IBAction) showSettingsView 
{
     FlipsideViewController *controller = [[FlipsideViewController alloc] initWithNibName:@"FlipSideView" bundle:nil];
     controller.delegate = self;

     controller.modalTransitionStyle = UIModalTransitionStyleFlipHorizontal;

     [self presentViewController:controller animated:YES completion:nil]  ;

     [controller release];
}


- (void)flipsideViewControllerDidFinish:(id)controller
{
    [self dismissViewControllerAnimated:YES completion:nil] ;
}

Apple 開発フォーラムに同じ質問を投稿しましたが、まだ回答がありません: ここにリンクの説明を入力してください

これは、iPhone 5 デバイスとシミュレーターで発生します。何か案は?

4

2 に答える 2

1

にxibを使用していないUIWindowが、ViewControllerのビューにxibsを使用している場合

_settingsController = [[CNPSettingsViewController alloc] initWithNibName:@"CNPViewController" bundle:nil];
[_settingsController setDelegate:self];
[_settingsController setModalTransitionStyle:UIModalTransitionStyleFlipHorizontal];

//this line solved the problem for me
[_settingsController.view setBounds:[[UIScreen mainScreen] bounds]];
于 2012-12-04T15:00:23.787 に答える
1

MainWindow.xib の MainWindow を「起動時のフル スクリーン」に設定し、シミュレートされたメトリクスのサイズを「Retina 4 フル スクリーン」に設定します。

于 2012-10-03T11:35:19.753 に答える