码迷,mamicode.com
首页 > 其他好文 > 详细

使用UITableView展示数据

时间:2015-06-07 01:00:10      阅读:116      评论:0      收藏:0      [点我收藏+]

标签:

TableView主要用于展示数据,类似于Android中的ListView。

我们可以通过两个方式使用TableView。第一种是直接使用TableView类。第二种是通过UITableViewController类。

 

第一种方式主要是通过实例化一个UITableView类,然后将类实例添加到主界面,代码如下

 

技术分享

 

这样,一个简单的tableview就创建了,当然这个时候界面中是没有数据的。

运行结果如下:

 技术分享

 

 

接下来为TableView添加数据。通过查看UITableView类的头文件可知道,该类有一个dataSource属性,属性遵守了UITableViewDataSource协议。

因此,该属性只接受类型为UITableViewDataSource的值。在这里我们只需要令viewController遵守该协议即可,然后就可以将dataSource属性值设为self。

代码如下:

技术分享

这个时候xcode会有一个黄色的感叹号,因为我们还没有实现协议里面的方法。

 

要为TableView提供数据,我们必须至少实现下面的两个方法:

    - (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
    - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(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 *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions

方法中进行。

 

首先创建一个继承自UITableViewController的类。

技术分享

 

类创建好后基本上就是在这个新建的类中实现上面的方法即可。因为UITableViewController类已经遵守了UITableViewDataSource协议。

而且UITableViewController里面已经有TableView的属性,因此我们无需实例化UITableView。

 

MyTableViewController类中的代码:

 技术分享

 

 

 

最后将rootViewController设置为新建立的类:

技术分享

 

运行结果:

技术分享

 

 

 
 

使用UITableView展示数据

标签:

原文地址:http://www.cnblogs.com/ai-developers/p/4557487.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!