IOS开发UI篇-tabelView 的简单使用

 //3.设置数据源
    self.tabelView.dataSource = self;
    
    //4.设置代理
    self.tabelView.delegate = self;
    
    //5.设置分割线
    self.tabelView.separatorInset = UIEdgeInsetsMake(0, 20, 0, 20);
//    self.tabelView.separatorColor = [UIColor redColor];
    self.tabelView.separatorStyle = UITableViewCellSeparatorStyleSingleLine;
#pragma mark - 数据源设置
//tabelView的行数
-(NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{
    return self.heroes.count;
}

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
    //1.创建cell
//    UITableViewCell * cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleSubtitle reuseIdentifier:@"a"];
    
    //1.从缓存池中取可用的cell
    static NSString * reusedId = @"heroes";
    
    UITableViewCell * cell = [tableView dequeueReusableCellWithIdentifier:reusedId];
    if(cell == nil)
    {
        cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleSubtitle reuseIdentifier:reusedId];
    }
    
    
    //2.给cell赋值
    //2.1获取数据
    LolHero * hero = self.heroes[indexPath.row];
    cell.textLabel.text = hero.name;
    
    //直接设置的话,详细信息显示不出来
    //想要给detailTextLabel设置信息的话,在cell init的时候必须使用上面的方法
    cell.detailTextLabel.text = hero.intro;
    cell.imageView.image = [UIImage imageNamed:hero.icon];
    
    //2.2附属物设置
    cell.accessoryType = UITableViewCellAccessoryDisclosureIndicator;
    //3.返回cell
    
    return cell;
}

#pragma mark - tabelView的代理方法

- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSInteger)section
{
    return 60;
}
//1.懒加载
- (NSArray *)heroes
{
    if(_heroes == nil)
    {
        _heroes = [LolHero heroesList];
    }
    return _heroes;
    //如果return self.heroes的话,会造成死循环
}


你可能感兴趣的:(IOS开发UI篇-tabelView 的简单使用)