Swift开发iOS应用(1)列表的实现
来源:互联网 发布:mac qq五笔拼音输入法 编辑:程序博客网 时间:2024/05/29 14:29
软硬件环境
- OS X EI Capitan
- Xcode 7.0.1
简介
列表,可以说是控件中最重要的一个,在iOS中是UITableView,本节就来学习一下如何来实现一个列表,如下所示效果图
实现步骤
UI部分
新建一个工程,工程名为UITableViewDemo,模板选择Single View
在Xcode的右下角控件库里选择Table View,按住拖拽到storyboard里,并将其拖大至全屏
将Table View的Prototype Cells设成1,接着选中Prototype Cells,在右上角的属性试图中的Stype选择Basic,设置Identifier为Cell(可以为任意,会在后面的代码文件中使用),如图
给列表绑定数据
经过上面的操作,已经可以看到列表了,只是每个单元格都是空的,没有任何数据
这里提供一个颜色数组,它的每个元素将会被显示到相应的单元格中
var colors = ["Red","Yellow","Green","Gray","Orange","Black","White"]
在ViewController类中需要实现UITableViewDataSource和UITableViewDelegate两个协议,然后需要实现2个方法
func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int { return colors.count }
这里返回给定数组的大小,就是整个列表有多少行
func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell { let cell = tableView.dequeueReusableCellWithIdentifier("Cell", forIndexPath: indexPath) cell.textLabel?.text = colors[indexPath.row] return cell }
上面的”Cell”就是在storyboard里的Identifier,这个函数返回一个cell,cell上显示一串字符。dequeueReusableCellWithIdentifier方法会重复利用单元格,提高效率,节省资源。常见的像微博里的消息列表,设备的每一屏只显示几条消息,下拉刷新一次,单元格还是这几个,只不过内容被重新填充了。
最后一步,切换到storyboard中,打开View Controller Scene,将Table View与View Controller做一个绑定,按住control键,拖动Table View到View Controller上放开,选择dataSource,重复一次,选择delegate
至此,列表的数据才被正确地显示了出来,可以在模拟器上查看
源码下载
https://github.com/djstava/SwiftForiOS/tree/master/TableViewDemo
- Swift开发iOS应用(1)列表的实现
- ios应用开发中plist的读写(Swift)
- IOS UISearchController的简单开发实现(swift版)
- iOS CoreBluetooth的swift实现 (1)
- 使用swift语言进行IOS应用开发
- [iOS] 用 Swift 开发一个 TODO 应用
- [iOS] 用 Swift 开发一个 TODO 应用
- Swift开发iOS应用(2)定制单元格
- swift开发的那些应用
- Swift开发IOS的细节
- iOS开发 - Swift实现清除缓存功能
- iOS开发--Swift语言1
- swift 新闻列表实现
- IOS应用开发14——使用UICollectionView实现图片列表显示
- IOS控件系列--对象池模式的应用--使用UIScrollView自定义设计滚动列表(UITableView、UICollectionView)(Swift版)
- iOS应用开发,在系统分享列表中加入自己的应用
- Swift - iOS应用的国际化与本地化
- iOS开发库的列表
- 【数据结构与算法】数据结构+算法=程序
- 安卓开发:将数据返回给上一个活动
- hdu 1535 Invitation Cards(邻接表spfa)
- Linux 文件系统:procfs, sysfs, debugfs 用法简介
- HTML中结构化标签的使用
- Swift开发iOS应用(1)列表的实现
- 【C语言】PCM音频数据处理---降低采样率
- Spring整合Hibernate的事务管理
- 说说Android里的SQLiteOpenHelper
- phpmyadmin登录不上,修改数据库密码
- spring事务----编程式与声明式
- 【JavaScript】JS读取XML文件并进行搜索
- iOSAPP 本地化
- [Cocoa]深入浅出 Cocoa 之消息