当视图控制器从笔尖文件中加载时,在当前上下文中以模态形式呈现视图控制器

问题描述 投票:0回答:1

我需要提供从xib文件中加载的视图控制器B到从情节提要中加载的现有视图控制器A上。

如果我从情节提要加载视图控制器B,它将正常工作,并且将在视图控制器A的当前上下文中显示,但是如果我从nib文件加载,它将不会在当前上下文中呈现。

从笔尖加载:

let vc = ViewControllerB()
vc.modalTransitionStyle = .crossDissolve
vc.modalPresentationStyle = .overCurrentContext
present(vc, animated: true, completion: nil)

从情节提要中加载:

let vc: ViewControllerB = ViewControllerB.instantiate()
let navigationController = UINavigationController(rootViewController: vc)
navigationController.setNavigationBarHidden(true, animated: false)
navigationController.modalPresentationStyle = .overCurrentContext
(tabBarController as? TabBarController)?.present(navigationController, animated: true, completion: nil)

TabBarController是我的自定义控制器。

如果我是从xib文件中加载的,则视图控制器B完全呈现在视图控制器A的顶部,因此呈现样式不会超出当前上下文,我希望仍然可以看到下面的视图或视图控制器A。此处发布,但没有一个是引用在当前视图控制器上下文中呈现由xib文件制成的视图控制器。

swift xcode nib uimodalpresentationstyle
1个回答
0
投票

通过情节提要或nib文件加载视图对在当前上下文中以模态显示视图没有任何区别,在我的情况下,我将父控制器的背景色更改为从子控制器顶部可见。

© www.soinside.com 2019 - 2024. All rights reserved.