gpt4 book ai didi

iphone - iOS 如何隐藏之前的 subview

转载 作者:行者123 更新时间:2023-11-28 23:18:18 24 4
gpt4 key购买 nike

我有一种情况,我正在应用程序中执行一些初始化。首次启动时,我必须出示带有“我同意/我不同意”按钮选项的 EULA。选择“我同意”后,我会显示一个模态视图,提示输入用户名和密码。这一切都很好。问题是在验证用户名和密码后,模态视图被关闭。我只剩下 EULA View 仍然显示在屏幕上,而不是应用程序的基 TableView 。我在 EULA View Controller 代码中执行以下操作:

- (IBAction)didAgree:(id)sender {
LoginViewController *lvc=[[[LoginViewController alloc] init] autorelease];
lvc.modalTransitionStyle=UIModalTransitionStyleCoverVertical;
[self presentModalViewController:lvc animated:YES];
[self.view removeFromSuperview];
}

如果我将最后一行 (removeFromSuperview) 移动到 presentModal 调用之前,那么登录 View 当然不会显示。

在登录 View Controller 代码中,我在按下登录按钮后得到了这个:

[[self parentViewController] dismissModalViewControllerAnimated:YES];
[[self parentViewController].view removeFromSuperview];

如果我使用此代码运行,模态视图会消失,表格 View 会短暂出现,然后消失,EULA View 会保留在屏幕上。如果我注释掉第二条语句,那么我将永远看不到 TableView 。

我知道我遗漏了一些非常明显的东西,但我不知所措并且已经坚持了很长一段时间。

最佳答案

我觉得问题出在这里:

[self presentModalViewController:lvc animated:YES];

主要是那里的self。这意味着您从 self 模态地呈现登录屏幕:您的 EULA-ViewController。您现在无法删除 EULA 屏幕。

我建议首先呈现登录屏幕,可能全部变灰或根本不显示任何内容,然后以模态方式呈现 EULA。

关于iphone - iOS 如何隐藏之前的 subview ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4748577/

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