【发布时间】: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