TableView

作者: Dove_Q | 来源:发表于2016-10-12 12:40 被阅读14次
    override func viewDidLoad() {
            super.viewDidLoad()
            names = ["张三", "李四", "王五", "赵六"]
            
            //.Plain样式默认没有分隔
            let tableView = UITableView(frame: self.view.bounds, style: .Grouped)
            tableView.dataSource = self
            tableView.delegate = self
            self.view.addSubview(tableView)
            
            //Cell、Header、Footer宽度一定与TableView相同
            //x/y/width无效
            let headView = UIView(frame: CGRect(x: 0, y: 0, width: 0, height: 100))
            headView.backgroundColor = UIColor.redColor()
            tableView.tableHeaderView = headView
            
            let footView = UIView(frame: CGRect(x: 0, y: 0, width: 0, height: 100))
            footView.backgroundColor = UIColor.greenColor()
            tableView.tableFooterView = footView
        }
        
        func numberOfSectionsInTableView(tableView: UITableView) -> Int {
            return 2
        }
    
        //询问某个section中有多少条数据
        func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
            return names!.count
        }
    
        func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
            
            //同一个Cell对象会重复使用
            //1. 在队列中获取空闲的Cell
            var cell = tableView.dequeueReusableCellWithIdentifier("cell")
            if cell == nil {
                //2. 创建可以重用的Cell对象
                cell = UITableViewCell(style: .Default, reuseIdentifier: "cell")
            }
            
            //3. 设置内容
            cell?.textLabel?.text = names![indexPath.row]
    //        cell?.detailTextLabel?.text = "xxxxx"
            return cell!
        }
        
        func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath) {
            print(indexPath.section, indexPath.row)
            print(names![indexPath.row])
        }
        
    
        
        func tableView(tableView: UITableView, viewForHeaderInSection section: Int) -> UIView? {
            let v = UIView()
            v.backgroundColor = UIColor.cyanColor()
            return v
        }
        
        func tableView(tableView: UITableView, heightForHeaderInSection section: Int) -> CGFloat {
            return 44.0
        }
    

    相关文章

      网友评论

          本文标题:TableView

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