首页 > 代码库 > swift的UITableView的使用
swift的UITableView的使用
UITableView是app开发中常用到的控件,功能很强大,多用于数据的显示。下面以一个简单的实例来介绍其基本用法。
先建一个工程
代码如下:
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的使用
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。