我以编程方式创建一个表格视图,并自定义其单元格
在TheCell.swift
import Foundation
import UIKit
class TheCell: UITableViewCell {
var takeTime: UILabel = UILabel()
override init(style: UITableViewCell.CellStyle, reuseIdentifier: String?) {
super.init(style: style, reuseIdentifier: reuseIdentifier)
self.backgroundColor = .clear
self.addSubview(takeTime)
}
required init(coder aDecoder: NSCoder) {
super.init(coder: aDecoder)!
}
override func setSelected(_ selected: Bool, animated: Bool) {
super.setSelected(selected, animated: animated)
}
override func layoutSubviews() {
super.layoutSubviews()
takeTime = UILabel(frame: CGRect(x:0, y:0, width:100,height:40))
takeTime.textColor = .lightGray
}
}
在表格视图中,我使用
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
var cell = tableView.dequeueReusableCell(withIdentifier: "cell") as? TheCell
if (cell == nil) {
cell = TheCell(style: .default, reuseIdentifier: "cell")
}
cell?.takeTime.text = "23:23"
return cell!
}
我以为我可以得到时间列表23:23
,但是没有任何想法吗?
答案 0 :(得分:0)
而不是像这样将takeTime
添加为单元格子视图:self.addSubview(takeTime)
将其添加为单元格contentView:contentView.addSubview(takeTime)
此外,在layoutSubviews
中仅设置标签的框架:
takeTime.frame = CGRect(x:0, y:0, width:100,height:40)