cell
class DCTableViewCell: UITableViewCell {
lazy var dcLabel: UILabel = {
let dcLabel = UILabel()
dcLabel.text = "百度"
dcLabel.backgroundColor = UIColor.greenColor()
dcLabel.textAlignment = NSTextAlignment.Center
return dcLabel
}()
override init(style: UITableViewCellStyle, reuseIdentifier: String?) {
super.init(style: style, reuseIdentifier: reuseIdentifier)
addSubview(dcLabel);
dcLabel.frame = CGRectMake(0, 0, 100, 80)
dcLabel.text = "赵大财博客";
}
required init?(coder aDecoder: NSCoder) {
fatalError("init(coder:) has not been implemented")
}
}
VC
import UIKit
class ViewController: UIViewController {
lazy var tableView : UITableView = {
return UITableView()
}()
override func viewDidLoad() {
super.viewDidLoad()
setupUI()
}
}
// MARK:- 设置UI界面相关
extension ViewController {
/// 设置UI界面
func setupUI() {
// 0.将tableView添加到控制器的View中
view.addSubview(tableView)
// 1.设置tableView的frame
tableView.frame = view.bounds
// 2.设置数据源
tableView.dataSource = self
// 3.设置代理
tableView.delegate = self
//注册CELL
tableView.registerClass(DCTableViewCell.self, forCellReuseIdentifier:"celli")
}
}
// MARK:- tableView的数据源和代理方法
// extension类似OC的category,也是只能扩充方法,不能扩充属性
extension ViewController : UITableViewDataSource, UITableViewDelegate{
func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return 20
}
func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCellWithIdentifier("celli");
return cell!
}
func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath) {
print("点击了:\(indexPath.row)")
}
func tableView(tableView: UITableView, heightForRowAtIndexPath indexPath: NSIndexPath) -> CGFloat {
return 80
}
}