gpt4 book ai didi

iphone - 从一个 ViewController 导航到另一个

转载 作者:塔克拉玛干 更新时间:2023-11-02 10:13:23 26 4
gpt4 key购买 nike

我的 Storyboard中有这个设计:

enter image description here

如您所见,中间的 ViewController 连接到导航 Controller (我只是让导航栏不可见)。在这个中间页面中,我以编程方式添加了所有控件 ( using Parse mobile platform login wizard )。

问题是当登录成功完成后,我想导航到第三页。

- (void)logInViewController:(PFLogInViewController *)logInController didLogInUser:(PFUser *)user {
[self dismissModalViewControllerAnimated:YES];
ViewController2 *viewController = [[[ViewController2 alloc] init] autorelease];
[self.navigationController pushViewController:viewController animated:YES];
printf("%s", [@"Ali" UTF8String]);
}

将打印消息,但导航失败。你能帮我吗?也许我需要在 Storyboard中修复一些东西。

最佳答案

我不确定您是否应该发送 dismissModalViewControllerAnimated: 消息。您是否在登录 View Controller 之上以模态方式呈现另一个 View Controller ?

无论如何,当您在 Storyboard中配置了 View Controller 后,您将无法使用allocinit 创建 View Controller 。你需要让 Storyboard来创建它。有几种方法可以做到这一点。

单向

让 Storyboard 创建您的 ViewController2 的一种方法是在您的 Storyboard 中进行推送转场。

  1. 打开你的 Storyboard。
  2. 按住 Control 从登录 View Controller 拖动到 ViewController2
  3. 选择“推送”segue 类型。
  4. 点击 segue。
  5. 选择“ View ”>“实用程序”>“显示属性检查器”。
  6. 在属性检查器(窗口右侧)中,将 segue 标识符设置为“didLogIn”。

要执行 segue,请执行以下操作:

- (void)logInViewController:(PFLogInViewController *)logInController didLogInUser:(PFUser *)user {
[self dismissModalViewControllerAnimated:YES];
[self performSegueWithIdentifier:@"didLogIn" sender:self];
}

另一种方式

让 Storyboard创建您的 ViewController2 的另一种方法是给它一个 Storyboard ID,并要求 Storyboard通过 ID 实例化 View Controller 。然后你可以推送 View Controller 。

在您要求 Storyboard创建它之前,您必须为 Storyboard中的 ViewController2 实例提供一个“ Storyboard ID”。

  1. 打开你的 Storyboard。
  2. 选择 ViewController2 实例。
  3. 选择“查看”>“实用工具”>“显示身份检查器”。
  4. 在身份检查器(窗口右侧)中,输入“viewController2”。案例很重要!

然后,在您的代码中,要求 Storyboard实例化 viewController2:

- (void)logInViewController:(PFLogInViewController *)logInController didLogInUser:(PFUser *)user {
[self dismissModalViewControllerAnimated:YES]; // Should this be here?
ViewController2 *viewController = [[[ViewController2 alloc] init] autorelease];
[self.navigationController pushViewController:viewController animated:YES];
}

关于iphone - 从一个 ViewController 导航到另一个,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12827147/

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