使用UITableView展示数据
TableView主要用于展示数据,类似于Android中的ListView。
我们可以通过两个方式使用TableView。第一种是直接使用TableView类。第二种是通过UITableViewController类。
第一种方式主要是通过实例化一个UITableView类,然后将类实例添加到主界面,代码如下
这样,一个简单的tableview就创建了,当然这个时候界面中是没有数据的。
运行结果如下:
接下来为TableView添加数据。通过查看UITableView类的头文件可知道,该类有一个dataSource属性,属性遵守了UITableViewDataSource协议。
因此,该属性只接受类型为UITableViewDataSource的值。在这里我们只需要令viewController遵守该协议即可,然后就可以将dataSource属性值设为self。
代码如下:
这个时候xcode会有一个黄色的感叹号,因为我们还没有实现协议里面的方法。
要为TableView提供数据,我们必须至少实现下面的两个方法:
- (NSInteger)tableView:(UITableView *)tableViewnumberOfRowsInSection:(NSInteger)section
- (UITableViewCell *)tableView:(UITableView *)tableViewcellForRowAtIndexPath:(NSIndexPath *)indexPath
第一个方法告诉TableView每个section有多少行,第二个方法用于设置每一行的外观(View)是怎样的。TableView中每一行都是一个UITableViewCell类。
现在先把这两个方法实现一下。代码如下:
运行效果:
UITAbleViewDataSource中还有一个方法用来设置section,因为我们没有实现这个方法,所以section默认值是0。
该方法是:
- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView
通过实现这个方法修改section数量:
修改后运行效果:
使用UITableViewController创建Tableview
默认情况下每个视图的控制器都是UIViewController,通过修改UIWindow类中的rootViewController属性的值可以改变这个行为。
因此下面的代码在appDelegate.m文件中的
- (BOOL)application:(UIApplication *)applicationdidFinishLaunchingWithOptions:(NSDictionary *)launchOptions
方法中进行。
首先创建一个继承自UITableViewController的类。
类创建好后基本上就是在这个新建的类中实现上面的方法即可。因为UITableViewController类已经遵守了UITableViewDataSource协议。
而且UITableViewController里面已经有TableView的属性,因此我们无需实例化UITableView。
MyTableViewController类中的代码:
最后将rootViewController设置为新建立的类:
运行结果:
使用UITableView展示数据的更多相关文章
- iOS开发:一个高仿美团的团购ipad客户端的设计和实现(功能:根据拼音进行检索并展示数据,离线缓存团购数据,浏览记录与收藏记录的批量删除等)
		
大致花了一个月时间,利用各种空闲时间,将这个客户端实现了,在这里主要是想记录下,设计的大体思路以及实现过程中遇到的坑...... 这个项目的github地址:https://github.com/wz ...
 - PHP+Mysql+jQuery实现地图区域数据统计-展示数据
		
我们要在地图上有限的区块内展示更多的信息,更好的办法是通过地图交互来实现.本文将给大家讲解通过鼠标滑动到地图指定省份区域,在弹出的提示框中显示对应省份的数据信息.适用于数据统计和地图区块展示等场景. ...
 - C#-WinForm-ListView-表格式展示数据、如何将数据库中的数据展示到ListView中、如何对选中的项进行修改
		
在展示数据库中不知道数量的数据时怎么展示最好呢?--表格 ListView - 表格形式展示数据 ListView 常用属性 HeaderStyle - "详细信息"视图中列标头的 ...
 - IOS第七天(2:UiTableView 加上数据分离)
		
****加上数据分离 #import "HMViewController.h" #import "HMStudent.h" @interface HMViewC ...
 - Repeater控件 ---表格展示数据
		
简介: Repeater控件是Web 服务器控件中的一个容器控件,它使您可以从页的任何可用数据中创建出自定义列表. Repeater 控件不具备内置的呈现功能,这表示用户必须通过创建模板为 Repea ...
 - Windows程序==>>使用ListView控件展示数据
		
使用ListView控件展示数据 01.ImageList控件 1.了解了解 属性 说明 Images 储存在图像列表中的所有图像 ImageSize 图像列表中图像的大小 Trans ...
 - repeater灵活运用、repeater的commmand用法、如何不用repeater展示数据
		
实体类: using System; using System.Collections.Generic; using System.Linq; using System.Web; /// <su ...
 - Flex与Java交互(Flex调用java类展示数据)解析xml展示数据
		
Flex与java通信最简单例子(详细说明了各种需要注意的配置):http://blog.csdn.net/u010011052/article/details/9116869 Flex与java通信 ...
 - Asp.Net MVC 实现将Easy-UI展示数据下载为Excel 文件
		
在一个项目中,需要做一个将Easy-UI界面展示数据下载为Excel文件的功能,经过一段时间努力,完成了一个小Demo.界面如下: 但按下导出Excel后,Excel文件将会下载到本地,在office ...
 
随机推荐
- [Winform] DataGridView 总结(FAQ)
			
Q1. 如何使单元格不可编辑? A:设置 ReadOnly 属性,可以设置的对象包括 DataGridViewRow(行).DataGridViewColumn(列).DataGridViewCel ...
 - Java核心技术点之多线程
			
学习Java的同学注意了!!! 学习过程中遇到什么问题或者想获取学习资源的话,欢迎加入Java学习交流群,群号码:279558494 我们一起学Java! 本文主要从整体上介绍Java中的多线程技术, ...
 - POJ-3032
			
算法 准备一个最多能存放13个元素的队列,开始时队列为空. 1. 输入n. 3. 将n加入队列. 4. 令i从n到2执行: // 此时队列中有n-i+1个元素 将i-1加入到队列首部. // 此时队列 ...
 - WCF实现事件通知相关应用技巧介绍
			
WCF实现事件通知是一个比较容易掌握的知识点,不过在实现的过程中,我们还是需要注意一些事项,以保证功能的完善性. WCF中有一些方法的应用对于初学者来说还是比较容易应用.只要熟练的联系这些方法操作,一 ...
 - 关于mysql字段时间类型timestamp默认值为当前时间问题
			
今天把应用部署到AWS上发现后台修改内容提交后程序报错,经过排查发现是更新数据的时候,有张数据表中的一个timestamp类型的字段默认值变成了"0000-00-00 00:00:00.00 ...
 - 《.NET开发资源大全》
			
目录 API 应用框架(Application Frameworks) 应用模板(Application Templates) 人工智能(Artificial Intelligence) 程序集处理( ...
 - 一步步实现ABAP后台导入EXCEL到数据库【1】
			
在SAP的应用当中,导入.导出EXCEL文件的情况是一个常见的需求,有时候用户需要将大量数据定期导入到SAP的数据库中.这种情况下,使用导入程序在前台导入可能要花费不少的时间,如果能安排导入程序为后台 ...
 - DevExpress v16.1.5图表、Dashboard等多个控件API发生变化
			
Dashboard # BC3835: WinForms Dashboard Designer - ChartSeriesTypeGalleryItem bar item停用 在v16.1.5之前,D ...
 - iOS UIApplication sharedapplication用法
			
应用中打开其他应用 我们来讨论一下,在iOS开发中,如何实现从app1打开app2. 基本的思路就是,可以为app2定义一个URL,在app1中通过打开这个URL来打开app2,在此过程中,可以传送一 ...
 - 简单好记的Jdk 环境变量配置