iOS学习:表视图(二)

上一篇简单介绍了表视图的一些基本概念,这一篇来做一个小小的Demo。
表视图的加载顺序是当视图控制器加载表视图时访问数据源方法:
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
获得单元格数量;然后访问数据源方法:
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
获得每个单元格的数据。然后访问初始化方法:

-initWithFrame:style:

初始化创建单元格。
下面这个Demo创建了一个表视图,用来显示一串数据,数据中包含一个图片和一段描述图片的文字:
界面如下:

Paste_Image.png

这里创建的时候在表视图属性检查器中有一个Content属性,它可以选择一个动态表和静态表,这个属性只有在故事板中才有。具体的在后面会介绍。同时在这个属性后面有一个Prototype Cells,这个是原型单元格,给予id后可以在初始化单元格的时候调用,以用于重用。注意只能设置为一个,设置为两个的话会出现错误。
代码实现如下:

@interface ViewController () <UITableViewDelegate,UITableViewDataSource>
@property(nonatomic,strong)NSArray *listTeams; //单元格数据数组
@end

@implementation ViewController

- (void)viewDidLoad {
    [super viewDidLoad];
    //将plist文件解析,获得单元格数据数组
    NSString *filePath = [[NSBundle mainBundle]pathForResource:@"team.plist" ofType:nil];
    self.listTeams = [[NSArray alloc]initWithContentsOfFile:filePath];
}

#pragma mark - tableViewDataSourse
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {
    //返回单元格数量
    return self.listTeams.count;
}

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
    //为每个单元格添加数据
    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:@"cellID"];
    //默认情况下单元格主视图样式为在最左边有一个ImageView,挨着有一个Label
    cell.accessoryType = UITableViewCellAccessoryDisclosureIndicator;
    NSDictionary *data = self.listTeams[indexPath.row];
    cell.textLabel.text = data[@"name"];
    cell.imageView.image = [UIImage imageNamed:data[@"image"]];
    return cell;
}
@end
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 翻译自“Collection View Programming Guide for iOS” 0 关于iOS集合视...
    lakerszhy阅读 9,313评论 1 22
  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 174,942评论 25 709
  • 发现 关注 消息 iOS 第三方库、插件、知名博客总结 作者大灰狼的小绵羊哥哥关注 2017.06.26 09:4...
    肇东周阅读 14,191评论 4 61
  • 第一次写东西,文笔生疏,只想分享一下. 我就读于一个二线城市的医科大学,成绩不够,没有读上医学专业,刚开始的时候,...
    Vagus阅读 2,490评论 0 2
  • 每天工作遇到很多糟心是,同事之间的利益关系,领导的压迫,各种不愉快的谈话,蜂蛹过来,做的好你的本分,做不好你的失...
    或许我该换一种活法了阅读 1,384评论 0 0