iOS项目开发实战——学会使用TableView列表控件(一)
2015-08-23 17:20
686 查看
列表控件是iOS开发中使用频度最高的控件,类似于Android中的ListView。如iPhone手机中的通话记录,短信等列表都是由TableView来完成的。使用起来也比Button,Label等稍稍有一点难度。现在开始我们来学习如何使用TableView。
(1)新建一个Single View Application,语言选择Swift。新建完成后到Main.storyboard中删除原来的ViewController,重新拖入一个TableViewController。如图:
。
(2)可能一开始拖入是一个不是一个iPhone形状,而是类似iPad界面的Controller,可以去勾选掉“Use Auto Layout”和“Use size classes”.然后看到设计界面是一个iPhone的形状了。
(3)删除原来的ViewController.swift文件,重新新建一个Cocoa Touch Class,然后注意继承自UITableViewController.然后新建完成。发现类中已经自带有不少的方法。
(4)然后再次来到Main.storyboard中,把该界面的Class选择为刚新建的类。然后选中TableView,把Prototype Cells输入1,现在的界面如图所示:
。
(5)在Prototype Cells界面中拖入一个Label,等下可以在这个Label中显示文本。然后设置这个Label的tag为某个数值,如101.
。
。
(6)然后来到代码中,开始实现。
该方法返回你要多少个Section,Section可以理解为你的列表需要多少个部分,或者说多少个组,我们先返回1.
(7)
该方法返回在你的列表中需要多少行,也就是多少个cell。或者用Android习惯的说法就是多少个Item。我们先返回3项吧。
(8)
该方法是比较重要的类,主要是对列表中的Cells进行的操作。第一个参数tabeView表示是你界面中的哪一个TableView,因为可能你的界面中有多个TableView。第二个参数indexPath用来指定TableView中的某一个位置Cells。我用以上的代码在刚才的3个Cell中都填充"你好,iOS"。
(9)运行程序:发现列表能成功显示。
。
(10)仔细观察列表,发现顶部过高,和顶部的文字几乎重叠,需要进行如下操作:
。
选中TableView,把Content Insets的top值改为20。如果没有出现Content Insets,可能是因为你选择了“Use Auto Layout。” 然后运行程序。列表框就下移了一段距离。显示良好。
.
github主页:https://github.com/chenyufeng1991 。欢迎大家访问!
(1)新建一个Single View Application,语言选择Swift。新建完成后到Main.storyboard中删除原来的ViewController,重新拖入一个TableViewController。如图:
。
(2)可能一开始拖入是一个不是一个iPhone形状,而是类似iPad界面的Controller,可以去勾选掉“Use Auto Layout”和“Use size classes”.然后看到设计界面是一个iPhone的形状了。
(3)删除原来的ViewController.swift文件,重新新建一个Cocoa Touch Class,然后注意继承自UITableViewController.然后新建完成。发现类中已经自带有不少的方法。
(4)然后再次来到Main.storyboard中,把该界面的Class选择为刚新建的类。然后选中TableView,把Prototype Cells输入1,现在的界面如图所示:
。
(5)在Prototype Cells界面中拖入一个Label,等下可以在这个Label中显示文本。然后设置这个Label的tag为某个数值,如101.
。
。
(6)然后来到代码中,开始实现。
override func numberOfSectionsInTableView(tableView: UITableView) -> Int { // #warning Potentially incomplete method implementation. // Return the number of sections. return 1 }
该方法返回你要多少个Section,Section可以理解为你的列表需要多少个部分,或者说多少个组,我们先返回1.
(7)
override func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int { // #warning Incomplete method implementation. // Return the number of rows in the section. return 3 }
该方法返回在你的列表中需要多少行,也就是多少个cell。或者用Android习惯的说法就是多少个Item。我们先返回3项吧。
(8)
override func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell { let cell = tableView.dequeueReusableCellWithIdentifier("tableCell", forIndexPath: indexPath) as! UITableViewCell var label = cell.viewWithTag(101) as! UILabel label.text = "你好,iOS" return cell }
该方法是比较重要的类,主要是对列表中的Cells进行的操作。第一个参数tabeView表示是你界面中的哪一个TableView,因为可能你的界面中有多个TableView。第二个参数indexPath用来指定TableView中的某一个位置Cells。我用以上的代码在刚才的3个Cell中都填充"你好,iOS"。
(9)运行程序:发现列表能成功显示。
。
(10)仔细观察列表,发现顶部过高,和顶部的文字几乎重叠,需要进行如下操作:
。
选中TableView,把Content Insets的top值改为20。如果没有出现Content Insets,可能是因为你选择了“Use Auto Layout。” 然后运行程序。列表框就下移了一段距离。显示良好。
.
github主页:https://github.com/chenyufeng1991 。欢迎大家访问!
相关文章推荐
- ios沙盒的使用
- 教你搞定IOS远程消息推送APNS
- iOS NSURLSession 下载
- ios 抓包工具 ios青花瓷charles
- iOS storyboard push到下一个界面后怎么再从下一个界面返回上一个界面
- iOS 自定义动画 push/pop动画
- iOS ImagePickerController 入门
- ios键盘不遮挡输入框
- ios的内购
- iOS 之CoreLocation反地理编码小Demo输入经纬度得到城市
- iOS 之CoreLocation基本使用
- IOS开发中设置控件内容对齐方式时容易混淆的几个属性
- iOS核心动画之CABasicAnimation
- iOS高级-QuartzCore框架-背景平铺
- Nagios
- iOS中简单的画线功能
- ios开发学习- 简易音乐播放器2 (基于iPhone4s屏幕尺寸)-- 歌词解析--plist文件应用--imageNamed图片加载耗内存
- iOS那些锁
- iOS 多线程NSThread-NSOperation-GCD
- iOS: NSSortDescriptor 集合排序