注册带xib文件的CustomCell的创建
2016-07-03 13:45
363 查看
一般而言,系统自带的表视图单元格并不能完全达到我们的需求,有时我们可以通过创建自己定义的单元格,来实现某些方面的功能、效果。下面接单介绍一下带Xib的自定义单元格的创建。
1、首先,创建一个新的工程,这里选择在5S模拟器上运行
2、接着创建一个xib文件,用来定义自己所需要的单元格的大小、样式
取名:Movie
3、在main.storyboard中的ViewController上添加一个表视图,添加自动布局以免运行出现bug,并且连线设置代理(也可代码设置代理)
4、在创建的xib里面拖入一个单元格,上面添加UIImageView和UILabel,分别给其一个tag值(方便代码中获取)
5、在工程中添加相应的图片素材和需要的plist文件,然后在viewController中用代码实现相应的单元格创建
运行:
这样,一个简单的带xib的自定义表视图单元格就创建完成了。
1、首先,创建一个新的工程,这里选择在5S模拟器上运行
2、接着创建一个xib文件,用来定义自己所需要的单元格的大小、样式
取名:Movie
3、在main.storyboard中的ViewController上添加一个表视图,添加自动布局以免运行出现bug,并且连线设置代理(也可代码设置代理)
4、在创建的xib里面拖入一个单元格,上面添加UIImageView和UILabel,分别给其一个tag值(方便代码中获取)
5、在工程中添加相应的图片素材和需要的plist文件,然后在viewController中用代码实现相应的单元格创建
#import "ViewController.h" //签订代理协议 @interface ViewController () <UITableViewDataSource, UITableViewDelegate> { //创建全局变量数组 NSArray *_dataArr; } //表视图 @property (weak, nonatomic) IBOutlet UITableView *myTableView; @end @implementation ViewController //定义静态全局变量标识符cellID static NSString *cellID = @"cellID"; - (void)viewDidLoad { [super viewDidLoad]; //加载文件数据 [self loadDataFromPlistFile]; //设置行高 _myTableView.rowHeight = 160; //设置表视图分割线样式、颜色 _myTableView.separatorStyle = UITableViewCellSeparatorStyleSingleLine; _myTableView.separatorColor = [UIColor redColor]; //注册xib文件可重用cell [_myTableView registerNib:[UINib nibWithNibName:@"Movie" bundle:[NSBundle mainBundle]] forCellReuseIdentifier:cellID]; } //从plist文件中加载数据 - (void)loadDataFromPlistFile { //获取文件路径 NSString *filePath = [[NSBundle mainBundle] pathForResource:@"Films" ofType:@"plist"]; //通过文件路径获取到数组 _dataArr = [NSArray arrayWithContentsOfFile:filePath]; } #pragma mark -- UITableViewDataSource必须实现的两个方法 //返回组的单元格的行数 - (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section { //返回数组个数 return _dataArr.count; } //根据索引路径返回单元格 - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath { //创建单元格,使用这个方法必须先注册, 不需要判断cell是否为空 UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:cellID forIndexPath:indexPath]; //创建字典,拿到数组中的字典 NSDictionary *dic = _dataArr[indexPath.row]; //从Xib的单元格中通过tag标签获取到UIImageView、UILabel UIImageView *myImageView = [cell viewWithTag:101]; UILabel *myTitleLabel = [cell viewWithTag:102]; //从字典中拿到相应的图片、标题 myImageView.image = [UIImage imageNamed:dic[@"image"]]; myTitleLabel.text = dic[@"title"]; //返回单元格 return cell; } @end
运行:
这样,一个简单的带xib的自定义表视图单元格就创建完成了。
相关文章推荐
- OCiOS开发:表格视图实现腾讯好友列表展开收缩效果
- Swift开发iOS应用(2)定制单元格
- UITableViewController-简单自定义单元格
- swift开发笔记6 - 在表格单元格中添加按钮
- iOS开发那些事--自定义单元格实现
- linux-java环境搭建-JDK安装
- hihocoder #1300 : 展胜地的鲤鱼旗
- hdu 5706 GirlCat(深搜)
- 一波刚平
- Swift中switch强大的模式匹配
- Swift中switch强大的模式匹配
- Swift中switch强大的模式匹配
- javascript字符操作大全
- 10.2OraclePL_SQL数据类型
- Android 启动流程分析
- poj3669
- 面试题
- poj3984 迷宫问题 简单bfs打印路径
- ViewDragHelper简介
- 请告别对OHAttributedLabel等第三库的依赖