4

アラートビューメソッドで、モーダルビューをポップするための次の(かなり標準的な)コードを実装しました。

    else if (buttonIndex == 1) {
        EmergencyPlanViewController *emergencyPlanView = [[[EmergencyPlanViewController alloc] init] autorelease];
        [emergencyPlanView setModalTransitionStyle:UIModalTransitionStyleFlipHorizontal];
        [self presentModalViewController:emergencyPlanView animated:YES];
    }

どういうわけかそれは私に結果として黒い画面を与えます。ここで何が悪いのかわかりません。MainStoryBoardでウィンドウを作成し、IBのビューコントローラーのクラスをEmergencyPlanViewControllerにカスタマイズしました。

EmergencyPlanViewのviewDidLoadメソッドがトリガーされましたが、ビューがロードされていないようです。誰かがここで何が悪いのか考えていますか?

編集: 明確にするために、私は私のプロジェクトで別々のxibファイルを使用していません。絵コンテのみを使用しています

4

3 に答える 3

1

xibファイルでは、UIViewファイル所有者のビューに設定されています。それがおそらく問題です。また、単に適用すると、同じ名前のインターフェイス ビルダー ファイル initがロードされます。 したがって、その場合は次のいずれかを確認して ください。EmergencyPlanViewControllerEmergencyPlanViewController.xibEmergencyPlanViewControllerEmergencyPlanViewController.xibinitinitWithNibName://whatever nib name here

于 2012-05-26T10:05:15.067 に答える
1

Interface Builder でビューに背景色を設定することで、モーダル ビュー コントローラーを表示するときの黒い画面の問題を修正することができました。デフォルトでは、ビューの背景色が黒/白のような色に設定されていることに気付きました (添付の図を参照)。ただし、白で表示されます。これが何を意味するのか、どのように黒い画面を表示する責任があるのか​​ 正確にはわかりませんが、単一の色またはテクスチャを設定すると修正されました. PS: iOS SDK 5 から 6 に移行するときに、これに直面しました。

Interface Builder のスナップショット

于 2012-10-14T11:32:29.647 に答える
0

これを試して:-

    EmergencyPlanViewController *emergencyPlanView=[[EmergencyPlanViewController alloc] initWithNibName:@"EmergencyPlanViewController" bundle:nil];
    emergencyPlanView.modalTransitionStyle = UIModalTransitionStyleFlipHorizontal;

    [self.navigationController presentModalViewController:emergencyPlanView animated:YES];
于 2012-05-26T10:14:50.943 に答える