IOS学习中的TableView的用法

TableView的用法

TableView是继承ScrollView,在ScrollView还未出现之前,所有的滑动视图都是用TableView来定制的,TableView是必须要实现它自身的两个代理方法的,下面是TableView的一些基本属性和方法的应用

要注意的是(对于所有的ScrollView及其子类来说):

第一次添加到控制器视图上的子视图如果是ScrollView的对象(包含ScrollView子类的对象),则视图的内容偏移量会根据是否有导航栏和标签栏进行扩充

表视图创建时的基本样式:

UITableViewStyleGrouped:分组样式

UITableViewStylePlain: 平铺样式(默认)

设置tableView的内容偏移量

tableView.contentInset = UIEdgeInsetsMake(20, 0, 0, 0);

tableView.backgroundColor = [UIColor redColor];

设置数据源

tableView.dataSource = self;

[self.view addSubview:tableView];

处理数据

获取文件路径--方法一

NSString *filePath = [[NSBundle mainBundle] pathForResource:@"font" ofType:@"plist"];

拿到bundle的源路径---方法二

NSString *resourcePath = [[NSBundle mainBundle] resourcePath];

//文件路径

NSString *filePath = [resourcePath stringByAppendingPathComponent:@"font.plist"];

根据一个文件路径返回一个数组

self.data = [NSArray arrayWithContentsOfFile:filePath];

}

必须实现的两个代理方法

1-----返回多少行---每一组的行数

- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section

{

先拿到小数组

NSArray *sectionData = self.data[section];

返回小数组的个数

return sectionData.count;

}

2----------返回的每一个单元格

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath

{

UITableViewCell *cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:nil];

取到小数组

NSArray *sectionArray = self.data[indexPath.section];

拿到小数组中对应的元素

NSString *fontName = [sectionArray objectAtIndex:indexPath.row];

cell.textLabel.text = fontName;

cell.textLabel.font = [UIFont fontWithName:fontName size:20];

return cell;

}

可选的代理方法

1-------返回每一组的头视图标题

- (NSString *)tableView:(UITableView *)tableView titleForHeaderInSection:(NSInteger)section

{

return [NSString stringWithFormat:@"第%ld组Header", section];

}

2---------返回每一组的尾视图标题

- (NSString *)tableView:(UITableView *)tableView titleForFooterInSection:(NSInteger)section

{

return [NSString stringWithFormat:@"第%ld组Footer", section];

}

时间: 2024-10-11 01:01:14

IOS学习中的TableView的用法的相关文章

iOS学习中的一些误区

周二拿到offer之后,周三确定了去哪家,今天周四.今天是一个例外.中午写更新. 人到了不同的阶段,最重要的就是要更新自己的方法论.也就是说,不能穿新鞋,走老路,这样人就不会有大的突破. 下面我就分析一下我自己的在上一段时间方法论上面的缺陷: 1.教条主义. 问题论述:盲目的学习一对书籍和一些业内比较有名的iOS程序员的blog.当然后面也阶段性的调整了,但是这里还是要单独拿出来探讨一下.要学的书籍有很多,觉得不错的blog浩如烟海,这如果盲目的陷进去基本就悲剧了.会有很多可能,最可能的就是发现

iOS学习笔记-iOS事件处理之触摸事件

在iOS学习中,接触最多的就是触摸事件,这节主要学习一下触摸事件的简单使用. 1.iOS中的事件 2.触摸事件 2.1 触摸事件的完整处理过程: 1> 先将事件对象由上往下传递(由父控件传递给子控件), 找到最合适的控件来处理这个事件 2> 调用最合适控件的touches.....方法 3> 如果调用了[super touches...];就会将事件顺着响应者链条往上传递,传递给上一个响应者 4> 接着就会调用上一个响应者的touches.....方法 2.2 什么是响应者链条?

IOS中TableView的用法

IOS中TableView的用法 一.UITableView 1.数据展示的条件 1> UITableView的所有数据都是由数据源(dataSource)提供的,所以要想在UITableView展示数据,必须设置UITableView的dataSource数据源对象 2> 要想当UITableView的dataSource对象,必须遵守UITableViewDataSource协议,实现相应的数据源方法 3> 当UITableView想要展示数据的时候,就会给数据源发送消息(调用数据源

IOS中复制对象的用法及深拷贝和浅拷贝详解

亲爱的网友,我这里有套课程想和大家分享,如果对这个课程有兴趣的,可以加我的QQ2059055336和我联系. 课程内容简介 我们软件是基于移动设备的.所以我们必然的选择了安卓作为我们的开发工具.课程中,我们将简要的介绍Android的基本概念,然后进行我们的实战开发.在开发中,大家讲学习到基本的组件,适配UI,数据的存储,多线程下载,开机广播,闹钟提醒,短信发送等实际项目开发中碰到的有用的知识点.通过课程学习,让大家能够掌握Android软件开发的流程,注意点,及优化.帮助大家迅速的掌握Andr

IOS中NSString的常见用法

iOS NSString的常用用法 //1.创建常量字符串. NSString *astring = @"This is a String!"; //2.创建空字符串,给予赋值. NSString *astring = [[NSString alloc] init]; astring = @"This is a String!"; //3.在以上方法中,提升速度:initWithString方法 NSString *astring = [[NSString allo

#define中 #与##的神奇用法linux学习 (转)

#define中 #与##的神奇用法linux学习 (转) #define f(a,b) a##b #define d(a) #a #define s(a) d(a) void main( void ) { puts(d(f(a,b))); puts(s(f(a,b))); } 输出结果: f(a,b) ab 分析: ##把两个符号连起来 #a指把a当成符号,就是把#后面的看成字符串 # 和 ## 操作符是和#define宏使用的. 使用# 使在#后的首个参数返回为一个带引号的字符串. 例如,

IOS学习:ios中的数据持久化初级(文件、xml、json、sqlite、CoreData)

IOS学习:ios中的数据持久化初级(文件.xml.json.sqlite.CoreData) 分类: ios开发学习2013-05-30 10:03 2316人阅读 评论(2) 收藏 举报 iOSXMLJSONSQLiteCoreData 一.文件操作 1.因为应用是在沙盒(Sandbox)中的,在文件读写权限上受到限制,只能在几个目录下读写文件: * Documents:应用中用户数据可以放在这里,iTunes备份和恢复的时候会包括此目录 * tmp:存放临时文件,iTunes不会备份和恢复

iOS中绑定tableview后,变量值消失的问题

好吧,标题就以最通俗的语句命名,估计百度收录的时候,大家查找的时候会更加的方便. iOS新手,这个问题着实调试了好长时间! 由于上手就开始做大的项目,也没时间从基础做起,相信大多数小公司的开发者都是这种模式.因此很多问题都产生自很基础的错误. 项目使用mvc结构,在异步读取完数据后,NSArray中model的数据就丢失了,专业点就是内存释放了,只剩下内存地址了. 可能大家的情况和我不同,所以解决方法也不一定相同. 项目服务端是asp.net webservice,使用AFNetworking读

ios学习第三天杂记--Objective-c中的集合类

Objective-C中的集合类: 1. 数组 NSArray 在Objective-C中的集合类中主要包括不可变的数组--NSArray, 可变的数组--NSMutableArray, 不可变的字典--NSDictionary, 可变的字典--NSMutableArray, 不可变的集合--NSSet , 可变的集合--NSMutableSet 1>. 不可变的数组 NSArray 数组是有序对象的集合,用来存储对象的有序列表,在OC中数组中必须存的是对象,不能是基本数据类型,若想存入基本数据