我有导航控制器,每个VC都有customTableView。在我的customTableView中,我将UI设置放入init()方法中,如下所示:

required init?(coder aDecoder: NSCoder) {
    super.init(coder: aDecoder)

    separatorColor = UIColor.orange

}


但这不起作用。但是tableView的任何其他参数(例如backgroundColor,sectionIndexColor和其他参数)都可以正常工作。所以我只遇到分隔色问题。只是说,我所有的视图和单元格都有clearColor。
如果我将此代码放在viewDidLoad方法内的视图控制器(具有我的customTableView的出口)中,那么它将起作用。我想要实现的是,只有一个带有预定义参数的子类UITableView类可以在我的导航堆栈中的每个VC中使用。

最佳答案

至少可以调用两个初始化器:

1. required init?(coder aDecoder: NSCoder)

从Interface Builder(.xib或.storyboard)初始化视图时,将调用此初始化程序。要从IB初始化视图,请将某些视图或子视图的类设置为您正在使用的视图类。

2.普通init()

从代码初始化视图时将调用。此初始化程序可能有所不同,例如UITableViewCell的init(style: UITableViewCell.CellStyle, reuseIdentifier: String?)等。

因此,请确保您是否使用了正确的初始化程序。至少您可以设置断点以查看是否调用了此init。

希望能帮助到你!

关于ios - 自定义UITableView中的分隔符颜色不变,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/54593781/

10-16 03:56