ios 自定义tableViewcell,UITableViewCell

本文介绍如何使用Objective-C自定义UITableViewCell,以实现更丰富的界面展示效果。通过创建HouseTableViewCell类,文章详细展示了如何设置图片、标题、子标题及浏览量等元素,并提供了完整的代码示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

//自定义tableViewcell,当系统自带的tableView样式无法满足我们的需求可通过代码实现自定义cell

demo效果看附件

#import <UIKit/UIKit.h>

#import "Houses.h"

#define kRowWidth [UIScreen mainScreen].bounds.size.width

#define kRowHeight 90

@interface HouseTableViewCell : UITableViewCell


- (void)setHouses:(Houses *)houses;


@end


#import "HouseTableViewCell.h"


@interface HouseTableViewCell ()

{

    UIImageView * _imageView;

    UILabel * _titleLabel;

    UILabel * _subLabel;

    UILabel * _skimNums;

}

@end




@implementation HouseTableViewCell


- (instancetype)initWithStyle:(UITableViewCellStyle)style reuseIdentifier:(NSString *)reuseIdentifier{

    self = [super initWithStyle:style reuseIdentifier:reuseIdentifier];

    if (self) {

        [self _addSubviews];

    }

    return self;

}



#pragma mark - _addSubviews

- (void)_addSubviews{

    

    // 1.添加图片_imageView

    _imageView = [[UIImageView alloc]initWithFrame:CGRectMake(5, 5, kRowHeight-10, kRowHeight-10)];


    [self addSubview:_imageView];

    

    // 2.添加标题_titleLabel

    _titleLabel = [[UILabel alloc]initWithFrame:CGRectMake(_imageView.frame.origin.x *2 + _imageView.frame.size.width ,_imageView.frame.origin.y, kRowWidth - _imageView.frame.origin.x *2 - _imageView.frame.size.width , 45)];

    _titleLabel.font = [UIFont boldSystemFontOfSize:18];

    _titleLabel.textColor = [UIColor grayColor];

    [self addSubview:_titleLabel];

    

    // 3.添加副标题_subLabel

    _subLabel = [[UILabel alloc]initWithFrame:CGRectMake(_imageView.frame.origin.x *2 + _imageView.frame.size.width ,kRowHeight-45, kRowWidth - _imageView.frame.origin.x *2 - _imageView.frame.size.width , 35)];


     [self addSubview:_subLabel];

    _subLabel.font = [UIFont boldSystemFontOfSize:12];

    _subLabel.textColor = [UIColor grayColor];

    _subLabel.numberOfLines = 0;

//    _subLabel.adjustsFontSizeToFitWidth =YES;

    

    // 4.添加浏览量_skimNums

    _skimNums = [[UILabel alloc]initWithFrame:CGRectMake(kRowWidth-60 -10, kRowHeight-20, 60, 25)];

    _skimNums.adjustsFontSizeToFitWidth =YES;

    [self addSubview:_skimNums];

    

    

    

}


#pragma setHouses:(Houses *)houses

- (void)setHouses:(Houses *)houses{//新建一个类houses,用来存数数据

    NSString * imgPath = houses.imgPath;

    UIImage * image = [UIImage imageNamed:imgPath];

    _imageView.image = image;

    _titleLabel.text = houses.titleLabel ;

    _subLabel.text = houses.subLabel;

    _skimNums.text = [NSString stringWithFormat:@"浏览量:%li",houses.skimNums];

}


- (void)awakeFromNib {

    // Initialization code

}


- (void)setSelected:(BOOL)selected animated:(BOOL)animated {

    [super setSelected:selected animated:animated];


    // Configure the view for the selected state

}


@end


//自定义tableViewcell,当系统自带的tableView样式无法满足我们的需求可通过代码实现自定义cell


//自定义tableViewcell,当系统自带的tableView样式无法满足我们的需求可通过代码实现自定义cell


//自定义tableViewcell,当系统自带的tableView样式无法满足我们的需求可通过代码实现自定义cell


//自定义tableViewcell,当系统自带的tableView样式无法满足我们的需求可通过代码实现自定义cell


//自定义tableViewcell,当系统自带的tableView样式无法满足我们的需求可通过代码实现自定义cell


//自定义tableViewcell,当系统自带的tableView样式无法满足我们的需求可通过代码实现自定义cell


//自定义tableViewcell,当系统自带的tableView样式无法满足我们的需求可通过代码实现自定义cell


//自定义tableViewcell,当系统自带的tableView样式无法满足我们的需求可通过代码实现自定义cell


//自定义tableViewcell,当系统自带的tableView样式无法满足我们的需求可通过代码实现自定义cell


//自定义tableViewcell,当系统自带的tableView样式无法满足我们的需求可通过代码实现自定义cell


//自定义tableViewcell,当系统自带的tableView样式无法满足我们的需求可通过代码实现自定义cell



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值