代码改变世界

未调用preferredScreenEdgesDeferringSystemGestures和childViewControllerForScreenEdgesDeferringSystemGestures

  法子  阅读(1286)  评论(5编辑  收藏  举报

有一种原因会导致不调用重写的preferredScreenEdgesDeferringSystemGestures和childViewControllerForScreenEdgesDeferringSystemGestures函数。

就是新建了一个UIWindow,(默认isHidden = true),并设isHidden = false。

这时就会影响tabbarcontroller里重写的childViewControllerForScreenEdgesDeferringSystemGestures不被系统调用,它的viewcontrollers里的viewcontroller里面重写的preferredScreenEdgesDeferringSystemGestures也不被系统调用。

其结果就是,比如虽然重写了下面的函数,希望底部不优先响应系统边缘的屏幕手势

    override func preferredScreenEdgesDeferringSystemGestures() -> UIRectEdge {

        return .bottom

    }

 但是由于没被调用,底部的button按钮响应长按还是会延迟

编辑推荐:
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
点击右上角即可分享
微信分享提示