UISplitViewController从详细视图呈现当前上下文

时间:2016-06-15 04:19:12

标签: xcode swift ipad

我有一个分割视图控制器,主视图就像一个菜单,允许用户选择场景进行详细视图(我有多个细节视图)。在其中一个detailView场景中,我有一个按钮,以模态方式呈现视图控制器和“Over Current Context”,因为它具有半透明背景,我想创建该雾效果。这个特定的detailView(让我们称之为TodayViewController)也是应用程序加载时的初始详细视图控制器,并且仅在用户从主视图(菜单)中选择新视图控制器时才会更改。

这就是我在代码中的意思:

  • 当app刚刚开始时:

    $('#content_' + id).find('#GroupID option:selected').text()
  • 当用户从菜单中选择时:

    splitViewController.viewControllers[1] // returns TodayViewController
    

所以我遇到的问题是当应用程序刚刚启动时(项目符号1),当我以模态方式呈现TodayViewController的子视图控制器和“当前上下文”时,子VC将在两个主视图上显示(菜单) )以及详细视图(TodayViewController),导致整个屏幕具有模糊效果。 这就是我想要的效果

然而,当我选择另一个视图控制器(从菜单中)然后选择返回TodayViewController并尝试呈现子VC时,它现在只显示在详细视图上。这意味着雾效果仅出现在细节视图上,并且主视图(再次显示菜单)仍然清晰。我该如何解决这个问题?

我希望我对我的解释足够清楚。以下是我的一些代码:

  • 我的GlobalSplitViewController.swift:

    splitViewController.viewControllers[1] // returns a different view controller
    

GlobalSplitViewController的结构使得TodayViewController首先出现在iPhone上,但在iPad上它显示主视图和详细视图,未展开。

1 个答案:

答案 0 :(得分:0)

'过度背景'应该只显示主人或细节,无论它在哪里被调用。我不确定为什么它一开始没有正常工作(但我明白这是你想要的)但是当你选择另一个选项时它会起作用。无论如何,为了达到你想要的效果,请停止使用' over the current context'。这将在整个屏幕上显示雾vc。