gpt4 book ai didi

ios - isBeingPresented 值不一致

转载 作者:行者123 更新时间:2023-12-02 09:03:11 28 4
gpt4 key购买 nike

我以模态方式呈现一个带有 ViewController 的 NavigationController。

在 ViewController 中,我可以看到 self.navigationController.isBeingPresented 为 true。

但是如果我现在在模态呈现的 NavigationController 上推送一个新的 ViewController 并弹回原始 ViewController,则检查 isBeingPresented 的相同调用将返回 false。

文档很少,但我无法真正解释这种不一致,除了它可能是一个错误?

最佳答案

这就是预期的行为。 isBeingPresented仅当给定 viewController 时才为 true目前正在呈现 ( docs ):

A Boolean value indicating whether the view controller is being presented.

而不是当它已经呈现时。它在演示过程中设置为 true - 从导航到该 View Controller 开始直到 View Controller 完全呈现,并且所有生命周期事件发生(演示动画完成, viewWillAppear/viewDidAppear 回调)被称为等)。在那一刻之后, View Controller 呈现,但不正在呈现,因此isBeingPresented不再设置为true。

self.navigationController首先呈现(通过模式呈现),从中弹出 View Controller 不会触发呈现。呈现 UINavigationController 后,它在插入和弹出 View Controller 期间始终呈现。你必须dismiss navigationController ,然后再次呈现 isBeingPresented成为true - 因为只有在模态呈现期间才会呈现它。

关于ios - isBeingPresented 值不一致,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48401435/

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