常用小方法
自定义区头视图
- (UIView )tableView:(UITableView )tableView viewForHeaderInSection:(NSInteger)section;
{

  • (CGFloat)tableView:(UITableView *)tableView heightForHeaderInSection:(NSInteger)section
    {
    return 25;
    }

单元格被选中后接着被取消
- (void)tableView:(UITableView )tableView didSelectRowAtIndexPath:(NSIndexPath )indexPath
{
[tableView deselectRowAtIndexPath:indexPath animated:NO];
}

单元格不能被选中
cell.selectionStyle = UITableViewCellSelectionStyleNone;

一般步奏
第一步 初始化表视图
- (void)loadView // 加载视图用
{
// 创建一个表视图 tableView 赋值给 controller.view
UITableView *tableView = [[UITableView alloc]initWithFrame:[[UIScreen mainScreen]bounds] style:(UITableViewStylePlain)];
tableView.separatorStyle = UITableViewCellSeparatorStyleSingleLine;//分割线样式
tableView.separatorColor = [UIColor yellowColor];//分割线颜色
// 设置页眉与页脚
UIImageView *header = [[UIImageView alloc]initWithImage:[UIImage imageNamed:@”/Users/lanou3g/Desktop/N%07T(F}L8%MRYLR}XD25{U.jpg”]];
UIImageView *header1 = [[UIImageView alloc]initWithImage:[UIImage imageNamed:@”/Users/lanou3g/Desktop/N%07T(F}L8%MRYLR}XD25{U.jpg”]];
tableView.tableHeaderView = header; // 页眉想要偏移 先定义UIImageView的 fram 然后给tableHeaderView = 一个空视图 再使用 addsubview
tableView.tableFooterView = header1; // 页脚想要偏移先定义UIImageView的 fram 然后直接传给tableFooterView
// *给 tableView 添加代理和数据源 .h 里添加代理
tableView.dataSource = self;
tableView.delegate = self;
self.view = tableView; // 此处用等号
[tableView release];

}
创建数据
- (void)setData
{
NSArray *zArray = @[@”赵玉凤”,@”赵慧珍”,@”张文泽” ];
NSArray *yArray = @[@”易慧云”,@”瑶瑶”];
NSArray *xArray = @[@”谢为民”];
NSArray *wArray = @[@”吴淑敏”];
self.teacherDic = @{@”Z”:zArray,@”Y”:yArray,@”X”:xArray,@”W”:wArray};
self.keysArry = [[_teacherDic allKeys]sortedArrayUsingSelector:@selector(compare:)];
}
第二步 确定有几个分组
- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView// 告诉表视图有几个分区
{
// 根据联系人组数
return [_keysArry count];
}

第三步 确定各个分区有几个单元格
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section// 告诉表视图各个分区都有几个单元格 section 表示第几个分组
{
// 1.取到对应的著名
NSString *groupName = _keysArry[section];
//2.根据著名
NSArray *array = _teacherDic[groupName];
return [array count];
//return [_teacherDic[_keysArry[section]] count];
}
第四步 确定单元格高度
// 单元格高度 自适应高度
- (CGFloat)tableView:(UITableView )tableView heightForRowAtIndexPath:(NSIndexPath )indexPath
{
// if (0 == indexPath.section) {
// return 100;
// }
}

第五步 生成单元格
- (UITableViewCell )tableView:(UITableView )tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath// 生成单元格
{
// 第一步先判断可重用单元格队列里取可以重用的单元格.
// 第二步 创建一个全局区的变量 static 修饰的 NSString作为重用标志
static NSString *cellIndentifier = @”cell1”;
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:cellIndentifier];
// 当没有可以被重用的单元格时创建新单元格加重用标记
if (cell == nil) {
cell = [[UITableViewCell alloc]initWithStyle:(UITableViewCellStyleValue1) reuseIdentifier:cellIndentifier];
}
// 文本框 左侧单元格编号
// cell.textLabel.text = [NSString stringWithFormat:@”%ld”,indexPath.row];
// 左侧加载图片
UIImage *image = [UIImage imageNamed:@”/Users/lanou3g/Desktop/PNG/5845/180.png”];
cell.imageView.image = image;
//1. 取分区对应的联系人组名
NSString *groupName = _keysArry[indexPath.section];
// 2.获取组名所对应的联系人组
NSArray *array = _teacherDic[groupName];
//3.取 row 对应的联系人
NSString *name = array[indexPath.row];
//4.给 cell 赋值
cell.textLabel.text = name;
return cell;
}
第六步 设置区头标题
// 区头标题
- (NSString )tableView:(UITableView )tableView titleForHeaderInSection:(NSInteger)section
{
// 获取分区下标对应的分组名
NSString *key = _keysArry[section];
return key;
}
第七步 索引标题
// 右侧分区索引标题
- (NSArray*)sectionIndexTitlesForTableView:(UITableView *)tableView
{
return self.keysArry;
}
第八步 点击方法
// 选中单元格之后,执行 里面的方法
- (void)tableView:(UITableView )tableView didSelectRowAtIndexPath:(NSIndexPath )indexPath
{
NSLog(@”asfesaefsfe”);
}
第九步

tableView 的使用步骤和方法相关推荐

  1. 通过SQL Server操作MySQL的步骤和方法

    在多种数据库环境下,经常会遇见在不同数据库之间转换数据和互相进行操作的情况.以下简要介绍下用SQL Server操作MySQL的步骤和方法. 1 操作前的准备 1.1 安装MySQL驱动 想要在SQL ...

  2. cass展点不在原位置_cass展点之步骤及方法

    cass 展点之步骤及方法 cass 展点是根据手工或坐标正反算软件自动计算的结果,利用 cass 软件将点号.坐标及其 高程自动展示到图纸上的一种方法.其基本步骤和方法如下: 一. 将井下测点的点号 ...

  3. 2原理图_pcb板设计电路原理图步骤和方法

    电路原理图的设计是PCB板设计中的一项重要内容,下面就浅谈一下pcb板设计电路原理图步骤和方法. 1.建立原理图文件.首先要创建新的Sch工程,在工程中建立原理图文件和PCB文件. 2.设置工作环境. ...

  4. java判断 图片_java判断是否为图片的步骤和方法

    小编今天看到有个小伙伴问java如何判断上传的东西是否是图片,刚好小编有时间就给小伙伴解决一下如何判断的方法. 1.打开Eclipse,在项目工程一栏,也就是左边这一栏的空白处右击鼠标, 选择new- ...

  5. 服务器搭建对讲机系统,世邦对讲配置步骤以及方法(支持跨服务器对讲).doc

    世邦对讲配置步骤以及方法(支持跨服务器对讲) 配置的步骤以及配置方法 请先在/view.php?id=4727 上取得'世邦IP网络广播_SDK 配置工具汇总(新).rar' 首先安装世邦数字IP网络 ...

  6. c语言中 程序各步作用,c程序的上机执行过程_上机运行C程序的步骤与方法

    描述 C语言是在国内外广泛使用的一种计算机语言.C语言功能丰富.表达能力强.使用灵活方便.应用面广.目标程序效率高.可移植性好,既具有高级语言的优点,又具有低级语言的许多特点,因此特别适合于编写软件. ...

  7. 运营数据分析步骤与方法解读

    现如今对于数据的利用越来越频繁,有用的数据往往是通过对于原始数据的整合分析之后得出的.运营数据分析就是对于数据分析的整体过程进行宏观的把控,那么,究竟什么是运营数据分析呢,运营数据分析的步骤和方法又是 ...

  8. OO系统分析员之路--用例分析系列(4)--业务建模一般步骤和方法[整理重发]

    本篇开始之前先扯点闲话,商业应用系统开发经历了三个阶段: 第一个阶段以计算为中心,分析设计围绕程序的运行效率,算法优劣,存贮优化来进行.90年代的大学课程讲的都是这些. 第二阶段以数据为中心,分析设计 ...

  9. ​微信小程序开发难?资深大V教您微信小程序制作步骤和方法​

    ​微信小程序开发难?资深大V教您微信小程序制作步骤和方法​ 一.登录微信公众平台 就能在菜单"开发"---"基本配置"中看到小程序的AppID了,小程序的 Ap ...

最新文章

  1. ASP.NET 中HttpRuntime.Cache缓存数据
  2. Jsp获得Map中map.put(2, bb);此类的value值
  3. 全国计算机等级考试题库二级C操作题100套(第69套)
  4. java并发初探ConcurrentSkipListMap
  5. Spring Boot(19)---开发Web应用之Thymeleaf篇
  6. VS2013 异常处理
  7. java常见面试题及答案 1-10(基础篇)
  8. 【bzoj3676】
  9. 研究生开口月薪一万 企业暗示“靠边站”
  10. 简单的树遍历枚举器v0.2-挑战一个程序员到底能多懒- 添加广度优先遍历
  11. OpenCV2:幼儿园篇 第七章 界面事件
  12. 嵌入式开发学习学习路线
  13. java基础【十二】外存、内存、CPU、缓存
  14. 华为公司专家组一行莅临物通博联调研指导
  15. AD20常用快捷键汇总
  16. 从零开始研发GPS接收机连载——10、位同步和帧同步
  17. css_复合选择器_border_css层叠性与覆盖性_background_多标记构图法_行高_文本修饰属性_超链接的伪类_导航制作_Unit_4;
  18. cocos 贝塞尔曲线编辑器
  19. PC 如何阻止弹出 安全警告框
  20. Python学习(mdb.数据库)

热门文章

  1. Python切片操作
  2. 【Defects4J一气呵成】在VMWare上新建Ubuntu 18.04 虚拟机,并安装JDK 8,复现Defects4J最新版本(818个bug,version 2.0.0)
  3. JavaScript指定概率获取随机数
  4. php 考试系统 倒计时,jQuery_jQuery练习——倒计时,近学生做一个在线考试系统, - phpStudy...
  5. HTML页面转换asp,ASP.NET - Web 页面
  6. baidupcsgo安卓_baidupcsgo安卓百度网盘不限速-BaiduPCS-Go for Android客户端下载v3.6.8手机版-西西软件下载...
  7. 通过PHP的hash冲突漏洞进行DDoS攻击
  8. 一个 Bug 的故事,就地蒸发5亿美元...
  9. nodejs实现微信支付小微商户申请入驻接口
  10. 【Java Web】Day 3 JDBC