淘先锋技术网

首页 1 2 3 4 5 6 7

swift简单使用系统tableview

import UIKit

class ViewController: UIViewController{
    // 懒加载 方式一
//    lazy var tableview : UITableView = {
//        let tempTableview = UITableView ()
//        return tempTableview
//    } ()

    /// 懒加载 方式二
        lazy var tableview : UITableView = UITableView ()

    override func viewDidLoad() {
        super.viewDidLoad()
        setUI()
    }
}

extension ViewController {
    /**
     设置UI界面
     */
    func setUI()  {
        // 创建tableview
        //通过懒加载的方式去创建
        view.addSubview(tableview)
        // 设置tableivew的frame
        tableview.frame = view.bounds
        // 设置代理
        tableview.delegate = self
        tableview.dataSource = self
    }
}


// extension 类似OC中的category,也是只能扩充方法,不能扩充属性
extension ViewController : UITableViewDelegate,UITableViewDataSource {
    // 实现tableview的代理方法
    func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
        return 
    }

    func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
        let CellId = "CellId"
        // 创建cell
        var cell = tableview.dequeueReusableCellWithIdentifier(CellId)

        if cell == nil {
            cell = UITableViewCell(style: .Default, reuseIdentifier:CellId)

        }
        // 给cell赋值
        cell?.textLabel?.text = "\(indexPath.row)"
        // 返回cell
        return cell!
    }

    func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath) {
        print("点击了\(indexPath.row)")
    }

}
        cell.selectionStyle = .None
        cell.preservesSuperviewLayoutMargins = false
        cell.layoutMargins = UIEdgeInsetsZero
        cell.separatorInset = UIEdgeInsetsZero