今天学习了TableView的一些使用方法,总体来说和Android的listview大致的结构是差不多的,主要是内部使用的方法有一些比较大的区别
TableView的使用
首先在storyboard中拖拽铺满TableView,创建一个继承UITableView的类后,重写init方法,在storyboard绑定类后重写以下三个方法(必须)
- numberOfSectionsInTableView: 告知视图,有多少个section需要加载到table里
- tableView:numberOfRowsInSecion: 告知controller每个section需要加载多少个单元或多少行
- tableView:cellForRowAtIndexPath: 返回UITableViewCell的实例,用于构成table view.
接着在storyboard中拖进Table View Cell,在右边菜单Identifiel给其一个id,这次案例给其id为”cell”
在Table View Cell上方拖进label,用于显示文字,后在label右边菜单View栏中Tag改为1
实现UITableViewDelegate接口,在init方法中self.dataSource = self
给TableView提供相应的数据
之后修改上面重写三个方法传入参数即可
这时一个简单的TableView就显示了出来,接下来再对其进一步修改
创建多个Section列表
从iOS设置中看到的setting列表中每一块即为一个section
其中刚才写的numberOfSectionsInTableView方法返回的参数就是为了告知视图TableView中有几个section
- tableView:titleForHeaderInSection :给每一个section指明一个标题
使用这个方法即可设置标题
新建一个Resource文件,选择Property List,写入数据。注意类型
定义一个NSDictionary变量后获取上述文件内容,之后改变各个方法传入返回的参数,达到右图效果
实现列表交互
首先实现UITableViewDelegate接口
接着在init方法中传入self.delegate = self
- tableview:didSelectRowAtIndexPath :TableView中sell的触发事件方法
这个方法有点类似Android中listview的点击监听器,同样将要实现的功能写入方法中则可以达到想要的效果
在上述代码中加入此方法后则完成点击触发事件
每次点击tableview后控制台出现的效果:
一次性更了两篇….好快
看这个方向 一定是想赶快将星名片移植到iOS上:)