纯代码自定义cell,并且实现动态调整

</pre><pre name="code" class="objc">//
//  CusotmCellSystem.m
//  CustomCellSystem
//
//  Created by lije on 14-10-20.
//  Copyright (c) 2014年 lije. All rights reserved.
//

#import "CusotmCellSystem.h"

@implementation CusotmCellSystem

- (id)initWithStyle:(UITableViewCellStyle)style reuseIdentifier:(NSString *)reuseIdentifier {
    self = [super initWithStyle:style reuseIdentifier:reuseIdentifier];
    
    if (self) {
        /// @布局所有需要的视图控件
        CGRect fm = CGRectMake(0, 0, 10, 20);
        UIImageView *imageView = [[UIImageView alloc] initWithFrame:fm];
        imageView.backgroundColor = [UIColor redColor];
        [self addSubview:imageView];
    }
    
    return self;
}

-(CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath {
    return 100;
}

#pragma mark - 重写代理方法
-(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
    static NSString *idetifier = @"ReuseIdentifier";
    CusotmCellSystem *cell = [tableView dequeueReusableCellWithIdentifier:idetifier];
    
    if (!cell) {
        cell = [[CusotmCellSystem alloc]initWithStyle:UITableViewCellStyleValue1 reuseIdentifier:idetifier];
    }
    return cell;
}

@end


//
//  UseCustomCellSystemViewController.m
//  CustomCellSystem
//
//  Created by lije on 14-10-20.
//  Copyright (c) 2014年 lije. All rights reserved.
//

#import "UseCustomCellSystemViewController.h"
#import "CusotmCellSystem.h"

@interface UseCustomCellSystemViewController ()

@end

@implementation UseCustomCellSystemViewController

- (void)viewDidLoad
{
    [super viewDidLoad];
    UITableView *tableView = [[UITableView alloc] initWithFrame:self.view.bounds];
    tableView.delegate  = self;
    [self.view addSubview:tableView];
   
}

- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath {
    return 70;
}
#pragma mark - UITableViewDataScouce
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {
    return 10;
}

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
    static NSString *cellIde = @"CellIde";
    
    CusotmCellSystem *cell = [tableView dequeueReusableCellWithIdentifier:cellIde];
    
    if (!cell) {
        cell = [[CusotmCellSystem alloc] initWithStyle:UITableViewCellStyleValue2 reuseIdentifier:cellIde];
        UILabel *label = [[UILabel alloc] initWithFrame:CGRectZero];
        label.backgroundColor = [UIColor redColor];
        label.tag = 1011;
        [cell.contentView addSubview:label];
    }
    
    UILabel *label = (UILabel *)[cell viewWithTag:1011];
    CGRect frame = cell.frame;
    frame.origin = CGPointMake(0, 0);
    
    // 在此基础上沿dx dy各扩大2个像素
    CGRect rect = CGRectInset(frame, 2, 2);
    label.frame = rect;
    [label sizeToFit];
    
    if (label.frame.size.height > 46) {
        frame.size.height = 70 + label.frame.size.height - 46;
    } else {
        frame.size.height = 70;
    }
    
    [cell setFrame:frame];
    
    return cell;
}
@end



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值