【问题标题】:Display Modal on top of a UISplitViewController?在 UISplitViewController 顶部显示模态?
【发布时间】:2012-07-07 03:21:44
【问题描述】:

以前有人问过这个问题,但我找到的答案都不是正确的,或者至少它们在 iOS 5 上不起作用

我试图在我的 UISplitViewController 上显示一个模式(在 iOS 5 上),但到目前为止我没有运气。 大多数帖子都提到从我的 mainViewController 呈现模式,这似乎对我不起作用。

我尝试在 UISplitViewController 和我的主 UIViewController 中使用 segue 或在代码中手动呈现模式,但它总是给我以下错误:

由于未捕获的异常“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;
}

【问题讨论】:

    标签: ios modal-dialog uisplitviewcontroller


    【解决方案1】:

    错误消息提示您的loginViewControllerUISplitViewController。这行不通,因为您无法以模态方式显示拆分视图。

    否则我在您的代码中看不到任何错误,并且我使用 presentModalViewController:animated: 在 iOS 5.1 上完成了您想要实现的目标而没有任何问题。

    【讨论】:

    • 你说得对,我不小心继承了 UISplitViewController 而不是 UIViewController。不知道我是否应该删除这个问题。
    • @aryaxt 至少将其标记为已回答会很好,我解决了,对吧?
    • 你应该给它几天 :)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-10-25
    • 2011-03-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多