iOS使用代码直接自定义cell 并添加button响应

本文介绍如何在不使用Xib的情况下,通过代码自定义UITableViewCell,包括创建一个包含图片和TextField的Cell,并详细讲解如何为Cell中的Button添加点击事件,以便获取点击时的Section和Row信息。
摘要由CSDN通过智能技术生成


//iOS 使用代码自定义cell 并添加button响应


由于使用xib画cell界面虽然说是相对比较快,但是代码管理很不方便,使用git等工具无法进行共享对比。因此,很多时候需要自己写代码来创建xib界面,并引用到tableView中去。

例如,我写的是一个里面含有一个image和一个textFiled的cell。


1、先创建一个TableViewCell类,自定义,继承于UITableViewCell

其代码入下所示:

在TableViewCell.h中:

@interface TableViewCell : UITableViewCell
@property (nonatomic,strong) UIButton *iconBtn;
@property (nonatomic,strong) UITextField *firstText;
@end

在TableViewCell.m中

#import "TableViewCell.h"

#define SCREEN_WIDTH ([UIScreen mainScreen].bounds.size.width)
#define ICON_IMAGE 20
#define MINCRAK 15

//textfiled框离左边的宽度
#define FIRSTTEXT_Left 60
#define FIRSTTEXT_HIGH 38

@implementation TableViewCell


//初始化Cell
-(instancetype)initWithStyle:(UITableViewCellStyle)style reuseIdentifier:(NSString *)reuseIdentifier{
    
    self=[super initWithStyle:style reuseIdentifier:reuseIdentifier];
    
    if(self){
        [self initCell];
        [self setSubviewFramWithCellHeight:50 iconWidHei:ICON_IMAGE firtextWid:SCREEN_WIDTH/8*3 firtexHei:FIRSTTEXT_HIGH];

    }
    return self;
}


-(void)initCell{
    
    //1、创建头像
    _iconBtn=[[UIButton alloc]init];
    [_iconBtn setBackgroundImage:[UIImage imageNamed:@"contact.jpg"] forState:UIControlStateNormal];
    [self.contentView addSubview:_iconBtn];
       
    //2、创建textfield
    _firstText=[[UITextField alloc] init];
    _firstText.text=@"请输入数据";
    _firstText.textColor=[UIColor grayColor];
    _firstText.borderStyle=UITextBorderStyleBezel;
    _firstText.clearsOnInsertion=YES;
    _firstText.allowsEditingTextAttributes=YES;
    _firstText.delegate=self;
    [self.contentView addSubview:_firstText];
}


//参数说明:cell高度、头像宽高、第一个text长度、第一个text高度
-(void)setSubviewFramWithCellHeight:(CGFloat )cellheight iconWidHei:(CGFloat )iconWH firtextWid:(CGFloat )firtexW firtexHei:(CGFloat )firtexH{
    
    //头像
    _iconBtn.frame=CGRectMake((SCREEN_WIDTH/4-iconWH)/2-MINCRAK, (cellheight-iconWH)/2, iconWH, iconWH);
    
    //
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值