我以模态方式呈现一个带有 ViewController 的 NavigationController 。
在 ViewController 中我可以看到self.navigationController.isBeingPresented
是真的。
But如果我现在在模态呈现的 NavigationController 上推送一个新的 ViewController 并弹出回原始 ViewController,则进行相同的调用以检查isBeingPresented
返回假。
文档很少,但我无法真正解释这种不一致,除了它可能是一个错误?
这就是预期的行为。isBeingPresented
仅当给定时才为真viewController
目前being呈现 (docs https://developer.apple.com/documentation/uikit/uiviewcontroller/2097564-isbeingpresented):
一个布尔值,指示是否正在呈现视图控制器。
而不是当它已经呈现时。它在演示过程中设置为 true - 从导航到该视图控制器开始直到视图控制器完全呈现,并且所有生命周期事件都发生(演示动画完成,viewWillAppear
/viewDidAppear
调用回调等)。在那一刻之后,视图控制器is已呈现,但未呈现is being提出,因此isBeingPresented
will not不再设置为 true 。
The self.navigationController
首先呈现(通过模式呈现),从中弹出视图控制器不会触发呈现。呈现后UINavigationController
,它在推入和弹出视图控制器期间始终呈现。你必须dismiss
the navigationController
,然后再次呈现它isBeingPresented
to be true
- 因为只有在模态呈现期间才会呈现它。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)