【发布时间】:2021-01-17 01:30:13
【问题描述】:
我目前正在用 Swift 开发一个应用程序,当我在 iPhone 6(运行 iOS 12.4.6)上运行我的应用程序时,出现了一个奇怪的问题。
我有一个UITableView,其中包含许多UITableViewCell,这些单元格包含一个UIButton,其中backgroundColor 需要根据特定条件进行更新。问题是,只有第一个单元格没有正确加载颜色,相反,它只有在单元格被UITableView 重用后才加载。
我之前(在同一设备上)在 UIViewController 中遇到过类似的问题,我通过将用于控制 backgroundColor 的代码从 viewDidLoad 方法转移到 viewWillLayoutSubviews 方法来勉强解决了这个问题.
在我看来,这与故事板覆盖某些值有关,我已经尝试在 awakeFromNib 内设置条件 UITableViewCell 但没有任何变化,我实际上无法弄清楚还有什么可能导致这个问题。
【问题讨论】:
-
你能显示一些代码吗?
-
您是在使用
UIColor(named:)初始化程序还是在您的项目中有.xcassets文件夹并带有自定义颜色? -
1/ 尝试将更改背景颜色的代码放入 DispatchQueue.main.async 2/ 尝试在 xib/storyboard 中设置按钮的背景颜色以清除。
-
@vpoltave 是的,我目前正在使用自定义颜色
-
@DuyNguyen 我马上试试
标签: ios swift xcode uitableview uibutton