迅捷:创建自定义UITableviewCell而不定义IBOutlet变量

时间:2018-07-16 10:37:01

标签: uitableview

默认情况下,我想使用RTL UITableviewCell文本对齐方式创建自定义UItextlabel子类。我为此编写了以下小代码:

class rtlCell : UITableViewCell {
    override var textLabel: UILabel {
       let label = UILabel()
       label.textAlignment = .right
       return label
    }
}

,但此文本标签未显示在单元格中。我知道可以通过定义一个IBOutlet标签var并将其连接到情节提要中来完成此操作,但是我想知道是否有一种方法可以不执行这些操作?
谢谢!

1 个答案:

答案 0 :(得分:0)

您正在创建新标签,而不是将其添加到View层次结构中,因此,如果仅将样式设置为super.textLabel,例如像这样:

class MyCell: UITableViewCell
{
    override var textLabel: UILabel? {
        let label = super.textLabel
        label?.textAlignment = .right
        return label
    }
}

但是我认为您应该将UI定制代码移到其他地方(例如tableView委托)