推送视图时显示白屏

Posted

技术标签:

【中文标题】推送视图时显示白屏【英文标题】:White screen shown when pushing view 【发布时间】:2017-03-26 14:33:36 【问题描述】:

推送视图控制器:

func showChatLogForTrainer(trainer: Trainers) 
    let chatLogVC = ChatLogVC(collectionViewLayout: UICollectionViewFlowLayout())
    self.navigationController?.pushViewController(chatLogVC, animated: true)

但是在运行应用程序时,它会在显示视图控制器之前显示一个白屏。它以前不这样做..但我还没有触及视图的显示方式,所以不确定它现在为什么这样做。

ChatLogVC 中的viewDidLoad

override func viewDidLoad() 
    super.viewDidLoad()
    self.navigationController?.setNavigationBarHidden(false, animated: false)
    self.collectionView?.backgroundColor = UIColor(red: 41/255, green: 38/255, blue: 45/255, alpha: 1);
    self.collectionView?.register(ChatMessageCell.self, forCellWithReuseIdentifier: cellId)
    self.collectionView?.alwaysBounceVertical = true
    self.collectionView?.contentInset = UIEdgeInsets(top: 8, left: 0, bottom: 8, right: 0)
    self.collectionView?.indicatorStyle = .white
    self.collectionView?.keyboardDismissMode = .interactive

【问题讨论】:

您必须发布ChatLogVC 的代码,以便我们知道viewDidLoadviewWillAppear 中发生了什么 @Rikh 补充说 【参考方案1】:

它以前不这样做..但我还没有触及视图的显示方式,所以不确定它现在为什么这样做。

您可以使用git bisect 查找导致此问题的更改。

【讨论】:

【参考方案2】:

事实证明这是模拟器的一个错误。我已经尝试清理和重建,以及将模拟器恢复到默认设置并重新启动模拟器,但白屏错误仍然存​​在。

但是在我的手机上运行应用程序时,推送视图可以正常工作!

Xcode 版本 8.2.1 (8C1002) - 模拟器版本 10.0 (SimulatorApp-726.7)

【讨论】:

以上是关于推送视图时显示白屏的主要内容,如果未能解决你的问题,请参考以下文章

Electron 构建时显示白屏

OpenGL在显示多个对象时显示白屏

Flutter 应用程序在启动时显示白屏几秒钟

升级到 iOS 4.2 后应用程序启动时显示白屏

nwjs解决页面透明化,启动时显示白屏的问题

收到推送通知时显示视图控制器不起作用,其视图不在窗口层次结构中