斯坦福大学IOS开发课程笔记(第九课)
来源:互联网 发布:计算机二级c语言 编辑:程序博客网 时间:2024/06/04 18:32
转载请注明出处
http://blog.csdn.net/pony_maggie/article/details/37939697
作者:小马
这节课主要是讲table view的用法,其实我前面有篇文章已经详细讲解了tableview的一些知识点,这节课就当复习吧。
在IOS里tableview有两种风格,一种叫plain,一种叫group,风格如上图所示。Iphone里的设置菜单就是很典型的一种group风格。
这里讲到的是tableview的各个组成元素,注意看上图,理解section,cell, header,footer这些概念。分不清楚这些概念的话你根本无法写程序,因为很多api就是用这些名字来体现它们的功能,下面会看到。
这张图是单独讲cell的类型,有subtitle,basic ,right detail, left detail四种,从效果图上也很容易辨别。在创建cell实例的时候可以指定上面的任何一种属性。
上图两张图其实是说明了在storyboard里如何创建tableview controller, 首先拖一个tableview controller的控件,然后新建一个类并关联,这样就可以实现各种操作了。
又是协议,代理,亘古不变的话题。Tableview要显示数据,数据从哪里来,dataSource,显示的动作谁来处理,delegate。 一般情况下tableview controller就是当前tableview的datasource和delegate,所以我们的controller肯定要实现这两个协议,像下面的代码这样:
- @interface ViewController : UIViewController<UITableViewDelegate, UITableViewDataSource>
- {
- UITableView * m_tableView;
- NSMutableArray *arrayList;
- }
然后通过在xcode里拖拽,把controller本身设为它的属性tableview的datasource和delegate(听起来有点费劲)。这个步骤以前的博文有提到。通过实现协议里的一些方法,告诉tableview一些创建自己的信息,比如有多少个section,有多少个cell等。
这里就讲到了datasource协议里的一个方法,tableview可以通过这个方法获取到cell的实例显示出来。给一个代码示例:
- - (UITableViewCell *)tableView:(UITableView *)tableView
- cellForRowAtIndexPath:(NSIndexPath *)indexPath
- {
- static NSString *CellIdentifier = @"Cell";
- UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
- if (cell == nil)
- {
- cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier];
- }
- NSLog(@"%d",[arrayList count]);
- if ([indexPath row] <= [arrayList count] - 1)
- {
- cell.textLabel.textColor =[UIColor orangeColor];
- cell.textLabel.text = [arrayList objectAtIndex:indexPath.row];
- }
- else
- {
- cell.textLabel.textColor =[UIColor blueColor];
- cell.textLabel.text = @"点击加载更多";
- }
- return cell;
- }
这个方法其实前面在segue知识点那篇讲过,它会在push到下一个view之前调用,通过实现这个方法可以做一些像数据传递之类的事情。
- 斯坦福大学IOS开发课程笔记(第九课)
- 斯坦福大学IOS开发课程笔记(第九课)
- 斯坦福大学IOS开发课程笔记(第八课)
- 斯坦福大学IOS开发课程笔记(第八课)
- IOS学习之斯坦福大学 IOS开发课程笔记(第一课)
- IOS学习之斯坦福大学IOS开发课程笔记(第二课)
- IOS学习之斯坦福大学IOS开发课程笔记(第四课)
- IOS学习之斯坦福大学IOS开发课程笔记(第六课)
- IOS学习之斯坦福大学 IOS开发课程笔记(第一课)
- IOS学习之斯坦福大学IOS开发课程笔记(第二课)
- IOS学习之斯坦福大学IOS开发课程笔记(第四课)
- IOS学习之斯坦福大学IOS开发课程笔记(第六课)
- 斯坦福大学IOS开发课程笔记(第七课第一部分)
- 斯坦福大学IOS开发课程笔记(第七课第二部分)
- 斯坦福大学IOS开发课程笔记(第七课第一部分)
- 斯坦福大学IOS开发课程笔记(第七课第二部分)
- 斯坦福大学公开课 iOS应用开发教程学习笔记(第九课)Table Views
- 斯坦福大学推出免费的iOS应用开发在线课程
- 视频压缩基本原理一(转)
- OSG+VS2010+win7环境搭建
- 证:最大化对数似然函数等价于最小化残差平方和
- hdu 4946 Area of Mushroom(凸包)
- Android SDK Manager 更新失败的解决方法
- 斯坦福大学IOS开发课程笔记(第九课)
- JavaMelody系统监控工具使用配置
- WPF控件内容自动缩放及放大镜
- 我的Android之路(1)--自学
- poj 1321 棋盘问题 【DFS】
- hdu-oj 1408 盐水的故事
- Linux任务调度crontab时间规则介绍
- win7快捷图标显示异常的解决方法
- linux与Tiny6410的交叉编译的过程