我正在开发iOS应用程序。从容器视图中的另一个视图控制器加载视图控制器
我想有一个视图控制器(称为子),出现在我的主视图控制器(称为父)的另一个视图内。 我设法通过添加一个容器视图来成功嵌入子视图控制器。
在我的子视图控制器中,我有一个打开另一个(第三个)视图控制器的按钮。
我希望此屏幕在视图容器的范围内打开 - 但它会在全屏幕上打开。
有没有一种方法可以定义视图容器的方式,它的所有内部会在其边界内显示?
我正在开发iOS应用程序。从容器视图中的另一个视图控制器加载视图控制器
我想有一个视图控制器(称为子),出现在我的主视图控制器(称为父)的另一个视图内。 我设法通过添加一个容器视图来成功嵌入子视图控制器。
在我的子视图控制器中,我有一个打开另一个(第三个)视图控制器的按钮。
我希望此屏幕在视图容器的范围内打开 - 但它会在全屏幕上打开。
有没有一种方法可以定义视图容器的方式,它的所有内部会在其边界内显示?
definesPresentationContext
- a UIViewController
'的房屋在这里可以帮到你。
一个布尔值,指示当视图控制器或其某个后代呈现视图控制器时是否覆盖此视图控制器的视图。
https://developer.apple.com/reference/uikit/uiviewcontroller/1621456-definespresentationcontext
将孩子的属性设置为true:
childViewController.definesPresentationContext = true
而且,呈现的viewController(3),设置它的模式呈现样式前:
viewControllerToBePresented.modalPresentationStyle = .overCurrentContext
希望这帮助!
这工作完美 – Aragunz
尝试这个职位。这可能有助于在范围内添加视图控制器。
显示你的代码,你如何加载第三控制器 –
也许我还不够清楚,但目的是为了拥有它,无论视图容器内打开加载视图控制器的方式(在我案例我使用第三方SDK,我没有访问其代码) - 像HTML中的iframe –