tvOS - 关闭到情节提要顶部会导致所有中间屏幕 -viewWillAppear/Disappear



我在故事板中深入了几个级别,想要将所有内容都展开到第一个屏幕。幸运的是,有一些 API 正是为了做到这一点而设计的:

UIViewController *topController = [UIApplication sharedApplication].keyWindow.rootViewController;
[topController dismissViewControllerAnimated:NO completion:nil];

但是,这种方法似乎一个接一个地"展开"视图堆栈,导致我当前位置和第一个屏幕之间的每个视图短暂调用viewWillAppearviewDidAppearviewWillDisappearviewDidDisappear。这会导致我的应用程序中的活动嘈杂,因为大多数中间屏幕在出现时都会做有趣的事情。我可以在 Xcode 中设置断点,并观察这些方法以相反的顺序调用回主屏幕。

我需要一种方法来弹出到故事板的开头,而不会导致路径上的每个屏幕都亮起并正常工作。

如果这意味着我不能再将viewWillAppear用于此目的,只要存在,我愿意切换到替代方法。

这是

预期行为。我假设您正在呈现视图层,并对每个先前视图进行presentViewController...调用。

您应该考虑使用UINavigationController作为顶级视图。然后,当您想一路回去时,您可以打电话给popToRootViewControllerAnimated:

相关内容

  • 没有找到相关文章

最新更新