gpt4 book ai didi

ios - Storyboard导航 - 从堆栈中推送和删除

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

我在同一个 iOS 应用程序中有两个 Storyboard。

Storyboard 1 是 login.storyboard。Storybaord 2 是 processing.storyboard。

login.storyboard 有以下场景:

1)欢迎

2)登录

processing.storyboard 有

1)开始

2)图片

3)描述

4)完成

login.storyboard 处理登录,同时 processing.storyboard 创建和上传对象。

我对栈的理解是这样的:

从欢迎导航到登录给出:

1:[welcome]-[login.storyboard]

2:[login]-[login.storyboard]

登录后我使用 processing.storyboard 推送

- (void) pushStory: (NSString *) story {

UIStoryboard *settingsStoryboard = [UIStoryboard storyboardWithName:story bundle:nil];
UIViewController *initialSettingsVC = [settingsStoryboard instantiateInitialViewController];
initialSettingsVC.modalTransitionStyle = UIModalTransitionStyleCrossDissolve;
[self presentViewController:initialSettingsVC animated:YES completion:nil];
}

堆栈现在应该是:

1:[welcome]
2:[login]
3:[start]

在我决定单击注销(在每个页面上可用)之前,我可能会在工作流程中进行描述,此时我的堆栈将是

1:[welcome]-[login.storyboard]

2:[login]-[login.storyboard]

3:[start]-[processing.storyboard]

4:[images]-[processing.storyboard]

5:[description]-[processing.storyboard]

注销应该让我回到 [welcome],我的问题是 Storyboard如何清除堆栈回到 [welcome] 并确保 login.storyboard 是最新的。

我在这方面的知识存在差距,因为我在 6 年左右后才重新回到 iphone 开发领域,之前从未见过这些。

我曾想过将 login.storyboard 压入堆栈,但这只会使堆栈继续增长而不是将其清除

最佳答案

使用展开转场。

在[welcome]中添加这个方法:

-(IBAction)reset:(UIStoryboardSegue *)segue
{
NSLog(@"Back to Welcome");
}

在 Interface Builder 中,在 [start]、[images] 和 [description] 中创建 UIButtons,然后将这些按钮中的每一个链接到它们各自 viewController 的绿色“退出”按钮并选择 重置: 在出现的弹出菜单中。

(请参阅 WWDC 2012 session 视频“在您的应用程序中采用 Storyboard”,了解有关 unwind segues [从 38 分钟开始] 的更多详细信息。)

关于ios - Storyboard导航 - 从堆栈中推送和删除,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23859795/

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