美文网首页Swift 专栏
16.UITableView的创建

16.UITableView的创建

作者: IIronMan | 来源:发表于2017-05-18 10:14 被阅读44次
     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
      }
    }

    相关文章

      网友评论

        本文标题:16.UITableView的创建

        本文链接:https://www.haomeiwen.com/subject/gekdxxtx.html