UITableView 常用特性总结 分割线长度 图片位置大小 lable文字摆放

本文介绍如何在 iOS 开发中自定义 UITableViewCell,包括去除和设置 UITableView 分割线、调整 cell 中的文字位置以及改变图片的位置和大小。

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

1,关于分割线

 (1),去除多余分割线

[self setExtraCellLineHidden:self.msgTabView]; //去掉多余分割线
-(void)setExtraCellLineHidden: (UITableView *)tableView
{
    UIView *view = [UIView new];
    view.backgroundColor = [UIColor clearColor];
    [tableView setTableFooterView:view];
}

 (2),设置分割线长度

[cell setSeparatorInset:UIEdgeInsetsMake(0, 30, 0, 0)];//分割线设置 上 左 下 右

 (3),设置分割线为全屏宽度

-(void)viewDidLayoutSubviews
{
    if ([_systemSettingOption respondsToSelector:@selector(setSeparatorInset:)]) {
        [_systemSettingOption setSeparatorInset:UIEdgeInsetsMake(0,0,0,0)];
    }
    
    if ([_systemSettingOption respondsToSelector:@selector(setLayoutMargins:)]) {
        [_systemSettingOption setLayoutMargins:UIEdgeInsetsMake(0,0,0,0)];
    }
}

-(void)tableView:(UITableView *)tableView willDisplayCell:(UITableViewCell *)cell forRowAtIndexPath:(NSIndexPath *)indexPath
{
    if ([cell respondsToSelector:@selector(setSeparatorInset:)]) {
        [cell setSeparatorInset:UIEdgeInsetsZero];
    }
    
    if ([cell respondsToSelector:@selector(setLayoutMargins:)]) {
        [cell setLayoutMargins:UIEdgeInsetsZero];
    }
}


2,cell文字位置调整

    继承UITableview重写layoutSubView

- (void) layoutSubviews
{
    [super layoutSubviews];
    
    int cellHeight = self.frame.size.height;
    int cellWidth = self.frame.size.width;
    self.textLabel.frame = CGRectMake(30, 0, cellWidth-100, cellHeight);
    self.detailTextLabel.frame = CGRectMake(cellWidth-80, 0, 70, cellHeight);
}


3,改变图片位置 以及 大小

    //图标位置设置
    UIImage *_image = [UIImage imageNamed:@"icon-unread-green"];
    cell.imageView.frame = CGRectMake(0, 0, 10, 10);
    //cell.imageView.image = _image;
    UIImageView *imageView = [[UIImageView alloc] initWithImage: _image];
    [imageView setFrame:CGRectMake(8, 20, 10, 10)];
    [cell.contentView addSubview:imageView];



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值