码迷,mamicode.com
首页 > 编程语言 > 详细

swift的UITableView的使用

时间:2014-11-04 00:18:36      阅读:224      评论:0      收藏:0      [点我收藏+]

标签:swift uitableview 学

UITableView是app开发中常用到的控件,功能很强大,多用于数据的显示。下面以一个简单的实例来介绍其基本用法。

bubuko.com,布布扣
先建一个工程
代码如下:

import UIKit

class ViewController: UIViewController, UITableViewDataSource, UITableViewDelegate {
    private var dataSource: Dictionary<String, [String]>? //定义表格的数据源
    private var keyArray: [String]?
    private let cellIdef = "zcell"

    override func viewDidLoad() {
        super.viewDidLoad()
        
        //初始化数据
        demoData()
        
        var frame = self.view.bounds
        frame.origin.y += 20
        frame.size.height -= 20
        
        //初始化表格
        var tableView = UITableView(frame: frame, style: UITableViewStyle.Plain)
        //设置重用标志
        tableView.registerClass(UITableViewCell.self, forCellReuseIdentifier: cellIdef)
        tableView.tableFooterView = UIView()
        tableView.dataSource = self
        tableView.delegate = self
        self.view.addSubview(tableView)
        
    }

    override func didReceiveMemoryWarning() {
        super.didReceiveMemoryWarning()
        
    }

    private func demoData() {
        dataSource = ["国家": ["中国", "美国", "法国", "德国", "意大利", "英国", "俄罗斯"],
                      "种族": ["白种人", "黄种人", "黑种人"]
                     ]
        keyArray = ["国家", "种族"]
    }
    
    // MARK: - UITableViewDataSource
    
    //设置表格的组数
    func numberOfSectionsInTableView(tableView: UITableView) -> Int {
        return keyArray!.count
    }
    
    //设置表格每组的行数
    func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
        var array = dataSource![keyArray![section]]
        return array!.count
    }
    
    //设置表格的内容
    func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
        var cell = tableView.dequeueReusableCellWithIdentifier(cellIdef, forIndexPath: indexPath) as UITableViewCell
        var array = dataSource![keyArray![indexPath.section]]
        cell.textLabel.text = array![indexPath.row]
        return cell
        
    }
    
    //设置每组的标题
    func tableView(tableView: UITableView, titleForHeaderInSection section: Int) -> String? {
        return keyArray![section]
    }
    
    //MARK: - UITableViewDelegate
    
    func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath) {
        tableView.deselectRowAtIndexPath(indexPath, animated: true)
    }
}


swift的UITableView的使用

标签:swift uitableview 学

原文地址:http://blog.csdn.net/zhangdadihim/article/details/40748529

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!