0

この質問は以前に尋ねられましたが、私が見つけた回答はどれも正しくなかったか、少なくとも iOS 5 では動作しませんでした

UISplitViewController の上に (iOS 5 で) モーダルを表示しようとしていますが、これまでのところうまくいきませんでした。ほとんどの投稿では、mainViewController からモーダルを提示するように言及されていますが、それはうまくいかないようです。

UISplitViewController とマスター UIViewController の両方から、セグエを使用してモーダルを表示するか、コードで手動で表示しようとしましたが、常に次のエラーが表示されます。

キャッチされていない例外 'NSInvalidArgumentException' が原因でアプリを終了しています。理由: 'アプリケーションが分割ビュー コントローラーをモーダルに提示しようとしました

このエラーは間違っています。splitView をモーダルで表示しようとしていませんでした。splitView からモーダルを表示しようとしました

他の解決策はありますか?

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
   NSLog(@"%@", self.window.rootViewController);
   // It prints out UISplitViewController


    // I tried this
    UIStoryboard *storyBoard = [UIStoryboard storyboardWithName:@"MainStoryboard" bundle:nil];
    UIViewController *viewController = [storyBoard instantiateViewControllerWithIdentifier:@"LoginViewController"];
    [self.window.rootViewController presentModalViewController:viewController animated:NO];

    // Also tried this
    [self.window.rootViewController performSegueWithIdentifier:@"LoginSegue"];

    return YES;
}
4

1 に答える 1

1

エラー メッセージは、あなたloginViewControllerUISplitViewController. 分割ビューをモーダルに表示できないため、これは機能しません。

それ以外の場合、コードにエラーは見られません.iOS 5.1で問題なく達成したいことをpresentModalViewController:animated:.

于 2012-07-07T14:33:24.050 に答える