【问题标题】:swift: TableViewCell doesn't change colorsswift: TableViewCell 不会改变颜色
【发布时间】:2019-11-06 08:14:56
【问题描述】:

我有一个奇怪的错误: 不幸的是,该应用程序的构建相当复杂: 它以一个名为RootContainerViewController 的“普通视图控制器”开头。

在它的viewDidLoad() 中,它使用UIStoryboard.instantiateViewController 实例化一个名为InitialViewController 的UIViewController,并使用以InitialViewController 作为根的构造函数创建一个自定义UINavigationController。 然后,它创建另一个 UIViewController 将 RootViewController 作为成员。 最后它调用了

self.addChildViewController(drawerController!)
view.addSubview(drawerController!.view)

而drawerController 对RootViewController 中的viewDidLoad() 执行相同的操作。 执行与其他 VC 而不是 InitialViewController 的相同过程以在某些 ViewController 之间进行交换。 这些其他视图控制器之一也是一个容器,它实例化一个名为 OnePager 的 ViewController 并按上述方式添加它。这个 OnePager 包含一个带有几个 containerViews 的 ScrollView,每个 containerViews 都包含一个 ViewController。其中之一有一个 UITableView 和具有自定义类的 TableCells。在tableView(cellforRowAt:)函数中,设置了单元格内2个标签的背景和字体颜色,此时可以正常工作。 当它被启动时,它可能还没有数据,因此在加载数据后在表上调用 reloadData。 但是当用户切换回 InitialView(使用与开始时相同的过程)并再次切换到 OnePager 时,不再应用颜色。在某些单元格上, isHidden 变量设置为 true 并且仍然有效,只有颜色无效。 谁能帮我?复制代码太多了

【问题讨论】:

    标签: ios swift uitableview uiviewcontroller


    【解决方案1】:

    试一试

    func tableView(_ tableView: UITableView, willDisplay cell: UITableViewCell, forRowAt indexPath: IndexPath) {
    
    }
    

    我在集合视图中遇到了同样的问题

    【讨论】:

    • 很高兴为您提供帮助。快乐编码 :) 我也是 swift 新手,4 个月前开始学习,最近遇到了这个问题。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-09-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-01-01
    相关资源
    最近更新 更多