【iOS知识学习】_UITableView简介

时间:2022-03-29 15:03:51

UITableView在iOS中估计是用的最多的控件了吧,几乎每个app都会用到。

一、它是一个非常重要的类来在table中展示数据。

1、是一个一维的表;

2、是UIScrollView的一个子类;

3、表可以是静态的或者动态的;

4、通过dataSource 协议和 delegate 协议可以实现很多的个性化定制;

5、即便拥有大量数据也非常有效率。

二、几种UITableView

1、Plain或者Grouped风格

【iOS知识学习】_UITableView简介【iOS知识学习】_UITableView简介

左边是plain风格,就是一行一行的,右边是grouped风格,一块一块的。

【iOS知识学习】_UITableView简介

这是plain风格的图片

【iOS知识学习】_UITableView简介

上图是grouped风格

可以看到里面可以设置Table Header Section Header 、Section Footer等属性,

TableHeader、Section Header SectionFooter、Table Footer可以不设置,默认为空;

Section的数值不设置的话默认为1,

2、静态的或者动态的;

3、被分割为一个个section或者不分割

【iOS知识学习】_UITableView简介
【iOS知识学习】_UITableView简介

左图是没有section的,默认就是一个section,右图明显可以看出有几块,每一块就是一个section。

三、UITableView协议

一个UITableView需要继承两个协议:delegate 和 dataSource

delegate:控制table如何展示出来;

dataSource:提供在cell里展示的数据;

注:UITableViewController自动设置为UITableView的delegate和dataSource。

1)UITableViewDataSource

- (UITableViewCell *)tableView:(UITableView *)sender cellForRowAtIndexPath:(NSIndexPath *)indexPath{ }

这是一个静态方法,作用就是展示index在某一行的cell,该方法返回值是UITableViewCell(UIView的一个子类);

大括号里的实现内容如下:

UITableViewCell *cell;
cell = [self.tableView dequeueReusableCellWithIdentifier:@“My Table View Cell”];
if (!cell) {
cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleSubtitle
reuseIdentifier:@“My Table View Cell”];
}
cell.textLabel.text = [self getMyDataForRow:indexPath.row inSection:indexPath.section];
return cell;

该协议可以让用户设置该tableView有多少个Section和多少行,Section的默认值为1;

实现函数如下:

- (NSInteger)numberOfSectionsInTableView:(UITableView *)sender;
- (NSInteger)tableView:(UITableView *)sender numberOfRowsInSection:(NSInteger)section;

其他可选方法大家去详细参看ios开发者文档;

2)UITableViewDelegate

delegate主要是用来控制UITableView是如何显示的,

当tableView的某一行被选中以后,下面的函数将被执行:

- (void)tableView:(UITableView *)sender didSelectRowAtIndexPath:(NSIndexPath *)path
{
// go do something based on information
// about my data structure corresponding to indexPath.row in indexPath.section
}

其他delegate的函数大家自己参考代码。

这边就先不写tableView的某一行的移动、编辑、删除等操作了。有机会再写。

【iOS知识学习】_UITableView简介的更多相关文章

  1. 【转】【iOS知识学习】_视图控制对象生命周期-init、viewDidLoad、viewWillAppear、viewDidAppear、viewWillDisappear等的区别及用途

    原文网址:http://blog.csdn.net/weasleyqi/article/details/8090373 iOS视图控制对象生命周期-init.viewDidLoad.viewWillA ...

  2. 【iOS知识学习】_iOS沙盒机制

    IOS中的沙盒机制(SandBox)是一种安全体系,它规定了应用程序仅仅能在为该应用创建的目录内读取文件,不能够訪问其它地方的内容.全部的非代码文件都保存在这个地方.比方图片.声音.属性列表和文本文件 ...

  3. 【iOS知识学习】_如何判断手机是否为静音模式

    目前我涉及的app要获取系统是否为静音模式,到网上搜了一下,千篇一律的都是一样的,而且都是iOS5.0以前才适应的知识,这个大家去搜一下就会很容易发现,找了很久终于找到一个5.0以后适用的,那位大神的 ...

  4. 【iOS知识学习】_int、NSInteger、NSUInteger、NSNumber的差别和联系

    版权声明:本文为博主原创文章.未经博主同意不得转载. https://blog.csdn.net/weasleyqi/article/details/33396809 1.首先先了解下NSNumber ...

  5. 【iOS知识学习】_iOS动态改变TableView Cell高度

    在做tableView的时候,我们有时候须要依据cell的高度动态来调整.近期在网上看到一段代码不错.跟大家Share一下. 在 -(UITableViewCell *)tableView:(UITa ...

  6. 开源中国iOS客户端学习

    开源中国iOS客户端学习 续写前言 <开源中国iOS客户端学习>续写前系列博客    http://blog.csdn.net/column/details/xfzl-kykhd.html ...

  7. 现代3D图形编程学习-基础简介&lpar;1&rpar; &lpar;译&rpar;

    本书系列 现代3D图形编程学习 基础简介 并不像本书的其他章节,这章内容没有相关的源代码或是项目.本章,我们将讨论向量,图形渲染理论,以及OpenGL. 向量 在阅读这本书的时候,你需要熟悉代数和几何 ...

  8. AspectJ基础学习之一简介(转载)

    AspectJ基础学习之一简介(转载) 一.为什么写这个系列的博客   Aspectj一个易用的.功能强大的aop编程语言.其官网地址是:http://www.eclipse.org/aspectj/ ...

  9. 毕业设计预习:VHDL入门知识学习&lpar;一&rpar; VHDL程序基本结构

    VHDL入门知识学习(一) VHDL程序基本结构 简介 VHDL程序基本结构 简介 概念: HDL-Hardware Description Language-硬件描述语言-描述硬件电路的功能.信号连 ...

随机推荐

  1. linux 安装maven

    set maven environment M2_HOME=/tool/apache-maven-3.3.9export M2_HOME  PATH=$PATH:$M2_HOME/bin  expor ...

  2. 用div,ul,input模拟select下拉框

    <!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <title&g ...

  3. HDU 5019 Revenge of GCD(数学)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5019 Problem Description In mathematics, the greatest ...

  4. 深入理解jdk和jre(转)

    转自:http://ihyperwin.iteye.com/blog/1513754 大家肯定在安装JDK的时候会有选择是否安装单独的jre,一般都会一起安装,我也建议大家这样做.因为这样更能帮助大家 ...

  5. ios9怎么设置6位密码 ios9设置6位密码图文教程

    在原来的 iOS 系统中,只有四位数字密码与复杂密码之分,而在 iOS9 系统中却多出了一个六位数字密码,那ios9怎么设置6位密码,今天小编就为大家带来ios9设置6位密码图文教程   在原来的 i ...

  6. c&num; List列表数据转换成树形结构

    把List列表结构 转换成树形结构 /// <summary> /// 构造树形Json /// </summary> public static class TreeJson ...

  7. sql server 数据库变成单用户模式的恢复

    USE master;GODECLARE @SQL VARCHAR(MAX);SET @SQL=''SELECT @SQL=@SQL+'; KILL '+RTRIM(SPID)FROM master. ...

  8. Consul之:key&sol;value存储

    key/value作用 动态修改配置文件 支持服务协同 建立leader选举 提供服务发现 集成健康检查 除了提供服务发现和综合健康检查,Consul还提供了一个易于使用的键/值存储.这可以用来保存动 ...

  9. 把文件&lpar;项目&rpar;上传到Git&commat;OSC

    说明: 登录与配置git的操作此处忽略. 假设你已配置好git,并且已绑定oschina. 下面是把一个本地文件夹上传到git的操作: 在git@osc上新建项目.记得选择添加对应的 .gitigno ...

  10. 【BZOJ1210】&lbrack;HNOI2004&rsqb;邮递员 插头DP&plus;高精度

    [BZOJ1210][HNOI2004]邮递员 Description Smith在P市的邮政局工作,他每天的工作是从邮局出发,到自己所管辖的所有邮筒取信件,然后带回邮局.他所管辖的邮筒非常巧地排成了 ...