IOS学习笔记——UITableView(三)

本学习笔记将记录如何使用StoryBoard来创建一个UITableView,并且加上几个常用的代理方法.

首先创建一个storyboard文件,在控件列表中找到TableView控件,添加到View中。如下图:

此时默认的样式是plain,也就是单组的。为了让它有数据,需要给它指定dataSource对象。这时只需右击UITableView控件,便会弹出一个黑色的窗口,如下图:

然后单击鼠标不放拖出一根线连接到ViewController,下图所示:



这样空心的点就会变成实心的点,这样就算完成了。

于是实现数据源方法(方法见第一篇学习笔记 http://blog.csdn.net/j0hdev/article/details/18454423),这样就算是有数据了。

如果需要调整UITableViewCell的高度,则需要实现一个代理方法。实现代理方法需要遵循UItableViewDelegge协议,修改头部代码如下:

@interface WYViewController ()<UITableViewDataSource,UITableViewDelegate> {}

然后实现如下代理方法:

- (CGFloat) tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath

该方法传入控件本身和一个indexPath对象,该对象可以指定是哪一组或者哪一行的高度,如果所有的行高度都一样的话,只需要返回一个希望的高度就可以了,比如 return 70

如果在点击某一行的时候希望他做一点事,那么就需要实现另外一个代理方法:

- (void) tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath;
这里传入的参数和上面一样,通过这些参数也可以获取一些数据。

最后记录一下如何让UITableView控件重新载入数据(全局、局部)。

UITableView中有一个方法,叫做:

[_tableView reloadData];

该方法可以重新载入全部的数据。还有一个方法:

[_tableView reloadRowsAtIndexPaths:NSArray withRowAnimation:UITableViewRowAnimation];
这个方法需要传入一个数组,该数组里装的是NSIndexPath,还可以传入一个枚举,不同的枚举值代表不同的动画效果。

NSIndexPath可以通过一个静态方法创建:

 NSIndexPath *path = [NSIndexPath indexPathForRow:row inSection:Section];

它的参数需要指定行和分组。


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值