ios - 在 pushViewController 之后 ViewController 未显示在屏幕上,但它存在于 UI-Debugger 中
问题描述
获得 AppLink 后,我将 VC 推送到navigationController上。ViewController 不会出现在屏幕上,并且应用程序被冻结(未崩溃)。但是如果我打开 UI-Debugger,VC 就在那里。
我试图在Main上执行链接,它使问题很少见,但有时仍然可以重现。
DispatchQueue.main.async {
navController?.pluginNavigationController.pushViewController(viewController, animated: true)
}
任何想法?
解决方案
这对许多人来说可能无关紧要,但可能会对某人有所帮助。
就我而言,ViewController 正在实施UIGestureRecognizerDelegate
,我true
从
gestureRecognizerShouldBegin(_ gestureRecognizer: UIGestureRecognizer) -> Bool
即使 NavigationStack 上有 1 个 ViewController。这导致应用程序冻结(实际上当我下次尝试使用动画 pushViewController 时,UI 永远卡在动画中)。
(除了我的其他检查)在方法结束时添加以下检查解决了这个问题。
return navigationController.viewControllers.count > 1
推荐阅读
- vue.js - Vue js 生产部署
- java - 如何在 Java 中打印 Python?
- oop - 为什么运算符重载而不是运算符覆盖?
- django - 如何在 Django 的一个模型中将两个外键分配给两个字段?
- java - “未捕获的 TypeError:window.getDeviceDetails 不是函数” RazorPay 与 android 集成
- laravel - Laravel 广播 - 无需承载令牌即可访问的私人频道
- c# - MVC 错误脚本未为布局页面呈现
- spring-boot - Spring Boot弹性4j ip ratelimitter
- resize - .Net Core - 使用 Imageflow 调整图像大小
- c++ - 通过加法溢出变量