iOS 弹框盖住Tabbar,跳转其他页面回来依然显示方案对比
💡
原文中文,约7400字,阅读约需18分钟。
📝
内容提要
本文讨论了在iOS应用中实现弹框只在主页显示的需求。作者提出了四种解决方案,包括将弹框加在UIApplication.shared.keyWindow上、使用present半屏弹框款式、将tabbarViewController作为UINavigationController的rootViewController,以及创建一个高于UIApplication.shared.delegate.window的UIWindow来显示弹框。最终作者选择了第四种方案,并给出了具体的代码实现。
🎯
关键要点
- 讨论了在iOS应用中实现弹框只在主页显示的需求。
- 分析了弹框在不同页面的层级问题,导致弹框在跳转后仍然显现。
- 提出了四种解决方案来处理弹框显示问题。
- 方案一:将弹框加在UIApplication.shared.keyWindow上,但存在闪现问题。
- 方案二:使用present半屏弹框款式,但与全屏弹框不一致。
- 方案三:将tabbarViewController作为UINavigationController的rootViewController,改变项目结构。
- 方案四:创建一个高于UIApplication.shared.delegate.window的UIWindow来显示弹框,最终选择此方案。
- 具体实现中重写了loadView和viewDidAppear等方法来控制弹框的显现与隐藏。
- 通过FJFDialogWindowManager管理弹框的显示状态,确保弹框在适当时机显现或隐藏。
🏷️
标签
➡️