gpt4 book ai didi

ios - 解雇ModalViewControllerAnimated时显示正确的UIView :completion: is called

转载 作者:行者123 更新时间:2023-11-29 04:21:42 25 4
gpt4 key购买 nike

让我解释一下。我有多个 UIViewController。在我的 MainPageController 上,我有 3 个 UIView。让我们这样枚举:第一个 UIView 称为 LoginView,第二个称为 HomeView,另一个称为 RegView。现在,在 HomeView 中,有多个按钮可通往其他 UIViewControllers。例如,一个按钮将导致StoreController。现在,如果我在 StoreController 内并且想返回 MainPageController,我只需调用:

[ self 解雇ModalViewControllerAnimated:是完成:nil]

这会将我带回到HomeView

那很好。然而,在 StoreController 内部,有一些按钮应该会引导我进入 LoginView 或 RegView,无论点击哪个按钮。问题是,当方法 [self DismissModalViewControllerAnimated:YES Completion:nil] 时,无论我按下哪个按钮,它都只会带我返回 HomeView

那么,一旦调用了 dismissModalViewControllerAnimated ,我将如何显示正确的 UIView 呢?

编辑:

这就是我显示 UIView 的方式:

-(void)viewDidLoad
{
//Initialize the views here...
}

-(void)showViewByTag:(NSInteger)tag
{
if (tag == 1)
{
[self.view addSubview:loginView];
}
else if (tag == 2)
{
[self.view addSubview:homeView];
}
else
{
[self.view addSubview:regView];
}
}

现在我在代码中的某个位置调用方法 showViewByTag: 来显示 View 。

最佳答案

您可以尝试执行以下操作:在调用 [self dismissModalViewControllerAnimated:YES completion:nil] 之前(然后返回到您的主视图),更改 MainPageController 中当前显示的 View :

[(MainPageController*)self.presentingViewController showViewByTag:desiredViewTag];
[self dismissModalViewControllerAnimated:YES...];

如果您担心 Actor 阵容并且您预见到self.presentingViewController在某些情况下可能不是 MainPageController 类型,那么您可以显式检查其类型:

if ([self.presentingViewController isKindOf:[MainPageController class]])
[(MainPageController*)self.presentingViewController showViewByTag:desiredViewTag];
[self dismissModalViewControllerAnimated:YES...];

要进行编译,必须将 MainPageController.h 导入到模态 Controller 类中。

关于ios - 解雇ModalViewControllerAnimated时显示正确的UIView :completion: is called,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12912460/

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