【问题标题】:UINavigationBar bleeding its background when PageSheet is animating当 PageSheet 动画时,UINavigationBar 流血它的背景
【发布时间】:2020-01-20 15:17:22
【问题描述】:

我的应用程序有一个 UIViewController,其中使用了 iOS 13 中引入的新 .pageSheet 模态演示样式。 这个UIViewController 在顶部有一个UINavigationBar,它被约束固定在顶部,前导和尾随。

我注意到当UIViewController 正在制作动画时,此视图的背景会变成白色。从真实设备上查看录制的 GIF:

有什么办法可以解决这个问题吗? UIViewControllerUINavigationBar 是以编程方式创建的。

也许这样做可以解决它?

override func layoutSubviews() {
    super.layoutSubviews()
    var originalFrame = frame
    frame = originalFrame
}

我正在使用 Swift 5.1 和 Xcode 11.3。 iPhone 运行 iOS 13.1.3。

【问题讨论】:

  • 你在真机上试过了吗?可能这只是模拟器中存在的问题。
  • 请再次阅读帖子。

标签: swift uiviewcontroller ios13


【解决方案1】:

可能您将视图的图层设置为光栅化,这导致 .pageSheet 动画无法正确绘制它。

解决办法,删除下面的代码:

navigationBar.layer.shouldRasterize = true
navigationBar.layer.rasterizationScale = UIScreen.main.scale

【讨论】:

    猜你喜欢
    • 2016-07-21
    • 2016-05-13
    • 2012-11-04
    • 1970-01-01
    • 2010-12-09
    • 1970-01-01
    • 2015-06-18
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多