import UIKit
//签协议
class ViewController: UIViewController , UITableViewDataSource, UITableViewDelegate{
var myTableView :UITableView?
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view, typically from a nib.
//创建tableView的方法
createTableView()
}
//创建tableview
func createTableView() {
myTableView = UITableView.init(frame: UIScreen.mainScreen().bounds, style: UITableViewStyle.Plain)
myTableView?.delegate = self
myTableView?.dataSource = self
myTableView?.rowHeight = 100
//注册cell
myTableView?.registerClass(MyCell.self, forCellReuseIdentifier: "MyCell")
self.view.addSubview(myTableView!)
}
func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCellWithIdentifier("MyCell")
return cell!
}
func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return 20
}
func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath) {
//点击cell 取消置灰
tableView.deselectRowAtIndexPath(indexPath, animated: true)
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
}
自定义cell,我把类名设成MyCell
import UIKit
class MyCell: UITableViewCell {
//初始化
override init(style: UITableViewCellStyle, reuseIdentifier: String?) {
super.init(style: style, reuseIdentifier: reuseIdentifier)
createSubView()
}
//写完初始化,点击错误,按Enter自动出现
required init?(coder aDecoder: NSCoder) {
fatalError("init(coder:) has not been implemented")
}
func createSubView() {
let label = UILabel.init(frame: CGRectMake(10, 10, 355, 80))
label.backgroundColor = UIColor.lightGrayColor()
label.text = "123456789"
label.font = UIFont.systemFontOfSize(20.0)
label.textAlignment = NSTextAlignment.Center
label.textColor = UIColor.redColor()
self.contentView.addSubview(label)
}
override func awakeFromNib() {
super.awakeFromNib()
// Initialization code
}
override func setSelected(selected: Bool, animated: Bool) {
super.setSelected(selected, animated: animated)
// Configure the view for the selected state
}
}