gpt4 book ai didi

ios - 如何在 subview Controller 中显示 segue?

转载 作者:可可西里 更新时间:2023-11-01 01:36:42 25 4
gpt4 key购买 nike

我有一个主视图 Controller ,在这个 View Controller 中我显示另一个 View Controller 作为它的 subview Controller 。显示 subview Controller 的代码如下所示。 self.currentController 是位于主 Controller 内的子 Controller 。

        self.addChildViewController(self.currentController!)
self.currentController?.view.frame = self.operationView.bounds
self.currentController?.view.layoutIfNeeded()
self.operationView.addSubview((self.currentController?.view!)!)
self.setNeedsStatusBarAppearanceUpdate()

现在我想使用下面的代码在 subview Controller 中执行一个 show segue(另一个 Controller ,我们称之为 ThirdController):

performSegueWithIdentifier("ShowSegue", sender: nil)

执行此操作时,ThirdController 将填满整个屏幕。我想要做的是在子 Controller 位置显示第三个 Controller 。我该怎么做?

最佳答案

好的,抱歉,我不知道如何用 Swift 编写答案。所以我将向您展示我的解决方案是如何在 Objective-C 中完成的。

加载第一个 subview 的代码:

- (void)loadASubview
{
subview = [self.storyboard instantiateViewControllerWithIdentifier:@"FirstView"];

[self addChildViewController:subview];
[self.view addSubview:subview.view];

[subview didMoveToParentViewController:self];
[subview.view setFrame:self.view.bounds];
}

卸载 subview 的代码:

- (void)unloadASubview
{
[subview willMoveToParentViewController:nil];
[subview.view removeFromSuperview];
[subview removeFromParentViewController];
}

最初,当我需要加载 subview A 时,我会简单地调用 loadASubview。之后,如果我需要加载另一个 subview ,我将在加载新 subview 之前通过调用 unloadASubview 卸载我之前加载的 subview 。

请注意,函数内的“ subview ”变量是在外部声明的。

希望对您有所帮助。

关于ios - 如何在 subview Controller 中显示 segue?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36672192/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com