gpt4 book ai didi

iphone - UINavigationController 使一个 View 模态化

转载 作者:行者123 更新时间:2023-12-01 18:01:40 26 4
gpt4 key购买 nike

我在开始时加载了两个页面,登录页面和注册页面。注册页面在登录页面后面。

在登录页面上有一个按钮可以调出演示页面,所以我需要登录页面的导航 Controller ,以便在演示页面调出时可以获得“返回”按钮。

所以我在 AppDelegate 中设置了导航 Controller

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];


LoginViewController *_loginViewController = [[LoginViewController alloc] init];


RegisterViewController *_registerViewController = [[RegisterViewController alloc] init];
[self.window addSubview:_registerViewController.view];
[_registerViewController release];

[self.window addSubview:_loginViewController.view];


navController = [[UINavigationController alloc] initWithRootViewController:_loginViewController];
[self.window addSubview:self.navController.view];
[_loginViewController release];
[self.window makeKeyAndVisible];
return YES;
}

这可以使登录页面上的按钮正常工作,但是当移出登录页面并显示注册页面时,注册页面无法响应用户操作。

代码有什么问题?

编辑:

我的不好,没有说清楚。当我说登录页面“移出”时,它并没有真正完全移出。屏幕上还剩下五分之一。然后出现注册页面。在这种情况下,我在 AppDelegate 中添加了登录页面和注册页面。另外,我不使用XIB ...

@dasblinkenlight 和 @hiren443?

最佳答案

我认为问题在于您将两个 Controller 的 View 添加到 window ,并且还错误地使用了导航 Controller 。

这是您应该做的:

  • 先创建导航 Controller
  • 推送注册页面,再推送登录页面到 Controller
  • 隐藏登录页面的[返回]按钮
  • 添加导航 Controller 作为主窗口的唯一 subview

  • 在登录页面的 Controller 中,调用导航 Controller 的 popToRootViewControllerAnimated显示注册页面。

    关于iphone - UINavigationController 使一个 View 模态化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8818687/

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