弹出视图控制器时 UIAppearance 未更新

Posted

技术标签:

【中文标题】弹出视图控制器时 UIAppearance 未更新【英文标题】:UIAppearance not updated when popping a view controller 【发布时间】:2014-04-03 14:35:00 【问题描述】:

从推送的视图控制器弹出时,UINavigationBar UIAppearance 不会更新。但是当从模态视图控制器中解散时它会这样做。这是正常的行为吗?仅从推送的视图控制器弹出时有没有办法更新它?

【问题讨论】:

你能给你看代码来调试它并帮助你 没什么可看的。我只是在视图控制器中修改 UIAppearance:如果我关闭它(它是模态的)外观不会更新,如果我弹出它(它被推送)外观更新。 【参考方案1】:

您需要执行以下操作:

let windows = UIApplication.shared.windows
for window in windows 
    for view in window.subviews 
        view.removeFromSuperview()
        window.addSubview(view)
    

【讨论】:

以上是关于弹出视图控制器时 UIAppearance 未更新的主要内容,如果未能解决你的问题,请参考以下文章

使用 UIAppearance 渲染图像

禁用视图控制器的 UIAppearance

使用 UIAppearance 设置视图控制器的直接视图背景颜色

UIAppearance 代理规则何时应用于新的视图控制器?

除了在模态视图控制器中使用 UIAppearance 样式吗?

UICollectionViewCell 奇怪的行为。单元格未正确更新图层