import UIKit
class ViewController: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
// tabview的创建,遵守协议是用逗号 "," 来实现的
let tableview = UITableView()
// tableview�的frame的设置
tableview.frame = CGRect(x:0,y:64,width:UIScreen.main.bounds.width,height:UIScreen.main.bounds.height)
// tableview的背景色
tableview.backgroundColor = UIColor.brown
// tableview挂代理
tableview.delegate = self
tableview.dataSource = self
// tableview的分割方式
tableview.separatorStyle = UITableViewCellSeparatorStyle.none
// tableview添加到view上面
view.addSubview(tableview)
}
// MARK: 数据源加载
lazy var datalist: [String] = {
return ["1","2","3","4","5"]
}()
}
// MARK: 苹果官方推荐将数据源代理方法单独写到一个拓展方法里面,以便提高代码的可读性
// extension: 相当于OC里面的 category 这样代码更简洁
extension ViewController:UITableViewDelegate,UITableViewDataSource{
// MARK: tableView段里面的 段落 数
func numberOfSections(in tableView: UITableView) -> Int {
return 1
}
// MARK: tableView段里面的 行 数
func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return datalist.count
}
// MARK: tableView cell 的设置
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
var cell = tableView.dequeueReusableCell(withIdentifier: "cellID")
if cell == nil {
cell = UITableViewCell(style: UITableViewCellStyle.default,reuseIdentifier:"cellID")
cell?.selectionStyle = UITableViewCellSelectionStyle.none
}
cell?.textLabel?.text = datalist[indexPath.row]
return cell!
}
// MARK: tableView 的点击事件
func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
print("\(indexPath.section)段,\(indexPath.row)行")
}
// MARK: tableView cell 的高度返回值
func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat {
return 100
}
}
网友评论