【问题标题】:UICollectionView navigation bar flashesUICollectionView 导航栏闪烁
【发布时间】:2018-03-19 23:20:40
【问题描述】:

我的UICollectionview 有这种奇怪的行为,在初始加载期间,导航栏会短暂地扩展到视图中,然后消失。

  1. 集合视图已添加到视图中,并添加了第一个单元格。第一个单元格始终是这个静态的“新游戏”按钮。
  2. 集合视图正在添加其他元素。这些是从本地存储中加载的,并为找到的每个游戏添加一个单元格。
  3. 在添加“新游戏”单元格和拉入游戏单元格之间,会显示导航栏。

有什么想法可以在这里发生吗?乐于分享更多信息;让我知道什么是相关的!

【问题讨论】:

  • 您能否在显示栏时尝试添加断点,然后在 Xcode 中检查您的视图层次结构并确定该栏的实际 UIView 子类。
  • 此外,您认为相关的任何代码都可能会有所帮助。您应该始终考虑将相关代码添加到您的问题中。
  • @ndmeiri 我发现这与我的导航栏有关。在 viewDidAppear 我设置 self.navigationController?.isNavigationBarHidden = true。如果我将其注释掉,那么顶部的这个扩展栏就会留在那里 (dropbox.com/s/ilib09og2qa4dfk/…)
  • 两件事:1.有没有更好的地方放这个,这样我就可以确保它更早地执行并防止标题的这种闪烁? 2. 我在collectionview cellForItemAt 中进行的加载正在减慢一切,导致viewdidappear 出现这种延迟。如果我删除它并立即返回单元格,则标题不会闪烁。我已经在 DispatchQueue 中加载了。您是否可以建议任何方法来防止 collectionview 加载阻止 viewdidappear?
  • 你能试试把导航栏隐藏在viewWillAppear吗?

标签: ios swift xcode uicollectionview uinavigationbar


【解决方案1】:

根据我们在 cmets 中的讨论,您将导航栏隐藏在 viewDidAppear 中。

self.navigationController?.isNavigationBarHidden = true

您应该在视图出现之前隐藏导航栏,在 viewWillAppear 中。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-12-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-11-17
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多