gpt4 book ai didi

iOS8:在 prepareForSegue 中推送 View Controller 使其闪烁

转载 作者:行者123 更新时间:2023-11-29 02:31:07 24 4
gpt4 key购买 nike

我有 3 个 View Controller ,方便地命名为 A、B、C。
A 使用 UINavigationController 呈现,并具有到 C 的推送转场。

我想要的效果是,执行转场后,C 的后退按钮会将我们弹出到 B,然后 B 的后退按钮将我们弹出到 A。实际上,这意味着转场到 C 会将两者都放入B 和 C 入栈。

在 iOS7 中,我成功地使用了以下(经过编辑的)代码:

-(void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender {
CViewController *slotViewer = segue.destinationViewController;
/* Do Stuff */

BViewController *controller = [self.storyboard instantiateViewControllerWithIdentifier:@"B"];
[self.navigationController pushViewController:controller animated:NO];
}

结果外观是从 A 到 C 的平滑过渡,同时 B 已加载,并且仅在单击 C 的后退按钮时才会调用 B 的 ViewWillAppear。

但是,在 iOS8 上,这种情况会被破坏:过渡会在屏幕上短暂闪烁 B,调用其 viewWillAppear,然后才会显示 C。

在 iOS8 中执行此转换有什么惯用的方法吗?

我知道我可以使用描述的方法 here但感觉很尴尬,我宁愿一直使用Segues。

最佳答案

您链接的方法 (setViewControllers) 旨在完全满足您的需求。为什么会尴尬?它由 Apple 提供。除此之外,没有办法只使用 segues。您以前的解决方案就像以编程方式推送第一个,然后由界面构建器在第二个之后推送。这很尴尬,伙计:)。

关于iOS8:在 prepareForSegue 中推送 View Controller 使其闪烁,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26869732/

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