记录一个菜鸟的IOS学习之旅,如能帮助正在学习的你,亦枫不胜荣幸;如路过的大神如指教几句,亦枫感激涕淋!
细心的朋友可能已经注意到了,IOS学习之旅系列教程在本篇公众号的文章中,封面已经换成美女图片了,程序员的福利有木有!!!
这是亦枫将在微信公众号 [技术鸟] 的IOS系列文章中采取的路线。看文章,学技术,眼睛累了马上点击大图看美女,这难道就是传说中的养眼吗!!
在亦枫的《iOS学习之旅》上一篇文章 —— iOS自定义单元格之故事板方式中,我们通过故事板的方式,实现了自定义单元格创建一个简单的表视图。本文我们来学习另一种方式——xib文件。
我们还是第一篇文章中创建的简单表视图Demo为例,右击工程目录,选择New File,使用User Interface下面的Empty模板创建一个xib文件:
next创建名为CustomCell的xib文件,然后设计单元格样式。拖拽一个图片控件和文本控件,在属性检测器中设置宽高等控件属性,如图所示:
New File,通过Source里面的Cocoa Touch Class模板创建自定义单元格类的头文件CustomCell.h和实现文件CustomCell.m:
然后为xib文件和头文件创建连接和添加控件的输出口。创建方式就不再重复复述了,记得设置xib文件的class类和单元格的重用标识符(比如设置为:CustomCell,在代码中创建单元格对象时需要使用)。
最后在 ViewController.m
文件的 tableView: cellForRowAtPathIndex:
编写创建单元格对象的代码,如下所示:
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath{ static NSString *identifierString = @"CustomCell"; CustomCell *cell = [tableView dequeueReusableCellWithIdentifier:identifierString]; if (cell==nil) { NSArray *nib = [[NSBundle mainBundle] loadNibNamed:identifierString owner:self options:nil]; cell = [nib objectAtIndex:0]; } NSInteger rowIndex = [indexPath row]; NSDictionary *cellDictionary = [self.simpleData objectAtIndex:rowIndex]; cell.titleLabelView.text = [cellDictionary objectForKey:@"name"]; cell.coverImageView.image = [UIImage imageNamed:[cellDictionary objectForKey:@"cover"]]; cell.accessoryType = UITableViewCellAccessoryDetailDisclosureButton; return cell; }
这样,我们就完成了使用xib文件自定义单元格创建表视图的全过程,运行结果如图所示: