iOS学习之UITableView(一): 新手篇创建tableView

这篇博客介绍了iOS中的UITableView,包括其基本概念、单元格UITableViewCell、如何创建不同样式的列表、如何为每一行添加图片以及列表的其他样式。通过代码示例详细讲解了如何在项目中实现和自定义UITableView。
摘要由CSDN通过智能技术生成

UITableView是苹果提供的表视图,可以有多种表现形态,使用灵活方便,可以使用其默认样式,也可对每一行的内容进行自定义,总之,使用表视图可以实现变化多样的UI效果

一、UITableView简单介绍

   1.tableView是一个用户可以滚动的多行单列列表,在表视图中,每一行都是一个UITableViewCell对象,表视图有两种风格可选

1 typedef NS_ENUM(NSInteger, UITableViewStyle) {
2     UITableViewStylePlain,                  // regular table view
3     UITableViewStyleGrouped                 // preferences style table view
4 };

 图1 tableView两种形态在iOS6和iOS7上的对比

2.表视图还可为其添加索引值,比如通讯录中右侧索引列表,每一个索引项对应其节头标题(图2)

                       图2 带索引值的列表                                图3 可以选择的列表    

     

 3.最简单的一种表视图是一个选择列表,可以限制选择一列或多列,如图3       

 4.页眉和页脚,可以根据自己的需要,对tableView设置页眉和页脚的内容

                      图4 带页眉和页脚的列表

      

二、UITableViewCell

    1. UITableViewCell是表视图的单元格,系统会缓存可见的行。通过完成UITableViewDataSource协议中必须完成的代理方法CellForRowAtIndexPath方法来填充表视图上单元格数据。

    2. UITableViewCell有四种样式可选    

1 UITableViewCellStyleDefault,    // 简单包含一个可选的imageView和一个label显示文本
2 UITableViewCellStyleValue1, // 包含可选的imageView,一个textLabel和一个detailLabel,其中detailLabel位置在最左,右对齐,文本颜色为蓝色
3 UITableViewCellStyleValue2,     //包含一个textLabel和一个detailLabel,textLabel默认为蓝色文本,右对齐,detailLabel的位置紧挨着textLabel右边,默认文本左对齐,颜色为黑色  
4 UITableViewCellStyleSubtitle    // 包含可选的imageView,一个textLabel,一个detailLabel,其中detailLabel在textLabel下方,字体较小,默认颜色为黑色,左对齐
三、创建简单TableView

    1. 先给出效果图

                      图5  plain简单列表样式                           图6 grouped简单列表样式

        

    2. 创建方式及代码(本文只讲述代码创建)

        a) 创建一个Single  View Application,命名为"tableView"

        b) 新建一个继承自UITableView的类,关于tableView的实现将全部写在这个类中(当然也可直接在对      应所需要用得ViewController中创建,分离出来的好处是可以在将tableView的方法单独放在一个类中,当ViewController的代码量比较大或者这个table需要在多个地方使用时推荐使用),命名为general_table_view.

        c) 代码

①在general_table_view.h文件中,添加几个属性    

01 @interface general_table_view : UITableView
02  
03 // tableView的坐标
04 @property (nonatomic, assign) CGRect        tableViewFrame;
05  
06 // 存放Cell上各行textLabel值
07 @property (nonatomic, copy)NSMutableArray * textLabel_MArray;
08  
09 // 存放Cell上各行imageView上图片
10 @property (nonatomic, copy)NSMutableArray * images_MArray;
11  
12 // 存放Cell上各行detailLabel值
13 @property (nonatomic, copy)NSMutableArray * subtitle_MArray;
14  
15 @end
②在general_table_view.m的interface中声明代理

1 @interface general_table_view ()<UITableViewDataSource,UITableViewDelegate>
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值