在 IB 中创建的静态 UILabel 显示缓慢

Posted

技术标签:

【中文标题】在 IB 中创建的静态 UILabel 显示缓慢【英文标题】:Static UILabel Created in IB Slow to Display 【发布时间】:2014-12-28 20:20:47 【问题描述】:

我有一个带有 UILabel 的 ViewController 和 UIView 中的一些 UIButton 的 Storyboard。 UILabel 有一些将显示的文本。当我运行项目时,按钮显示得很好,但显示 UILabel 时会有延迟(有时 5-10 秒)。起初,我将其归因于我在 viewDidLoad 中创建的单独线程上发出的网络请求,但后来我注释掉了 viewDidLoad 中的所有内容,除了对 super.viewDidLoad() 的调用,它仍然做同样的事情。

在以编程方式更新 UILabel 的文本之前,或者当某些东西阻碍了主线程时,我已经看到了这些延迟,但我认为这里不是这种情况,因为 viewDidLoad 中没有发生任何其他事情(或任何其他方法)。

感谢您的帮助!

【问题讨论】:

【参考方案1】:

任何时候任何东西“显示缓慢”,你都会遇到线程问题。您在后台线程上给出这些命令。你不能那样做。所有与接口的通信必须在主线程上。

【讨论】:

你完全正确。我不认为有任何东西使用主线程,但明确告诉我对presentViewController 的调用在主线程上进行修复。

以上是关于在 IB 中创建的静态 UILabel 显示缓慢的主要内容,如果未能解决你的问题,请参考以下文章

通过代码将标题/图标等设置为在 IB 中创建的 TabBarItem?

使用 Swift 在代码中创建的中心 UILabel

iOS 开发 - 如何使用自定义 Table View Controller 显示在 Interface Builder 中创建的静态单元格?

С++ 中的字符串文字是在静态内存中创建的吗?

根据 UIButton 控件事件更改 UILabel

如何从Storyboard中创建的静态UITableView中删除单元格