【问题标题】:Loading UIViewController from UISplitViewController从 UISplitViewController 加载 UIViewController
【发布时间】:2013-08-23 00:32:46
【问题描述】:

我有一个 UISplitViewController,我需要从中加载一个 UIViewController。我知道我可以将其作为模态进行,但这不是我所追求的。我需要 UIViewController 像普通 VC 一样加载并占据全屏,并且当触摸 DONE 按钮时它会返回到 UISplitViewController。到目前为止,当我尝试这样做时,它会加载到 UISplitViewController 的一半而不是替换它。

所以,我的问题是,“这可能吗?”如果是这样,如何?目前我正在使用模式(PageSheet),它在纵向方向上很好,但在横向方向上看起来很糟糕。

目前,我的拆分视图是通过标签栏在 App Delegate 中设置的,如下所示:

AdminMasterViewController *adminMasterVC = [[AdminMasterViewController alloc] init];
adminMasterNav.viewControllers = [NSArray arrayWithObjects:adminMasterVC, nil];

AdminDetailViewController *adminDetailVC = [[AdminDetailViewController alloc] init];
adminDetailNav.viewControllers = [NSArray arrayWithObjects:adminDetailVC, nil];

UISplitViewController *adminSplitVC = [[UISplitViewController alloc] init];
adminSplitVC.viewControllers = [NSArray arrayWithObjects: adminMasterNav, adminDetailNav, nil];
adminSplitVC.delegate = self;
adminSplitVC.title = @"Admin";

然后用标签栏加载。

我不知道为什么我无法理解 VC 之间的关系,显然是大脑中缺失的一部分。

【问题讨论】:

    标签: ios uiviewcontroller uisplitviewcontroller


    【解决方案1】:

    为什么你不想使用模态?你可以有一个全屏,只需设置模态演示样式

    YourUIViewController *viewController = (YourUIViewController*)[yourStoryboard instantiateViewControllerWithIdentifier:@"YourUIViewController"];
    [viewController setModalPresentationStyle:UIModalPresentationFullScreen];
    
    /*some additional logic if needed*/   
    
    [yourSplitViewController presentViewController:viewController animated:NO completion:nil];
    

    【讨论】:

    • 完美解决方案。出于某种原因,我没有意识到 UIModalPresentationFullScreen 可用。谢谢。
    猜你喜欢
    • 1970-01-01
    • 2023-03-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多