zoukankan      html  css  js  c++  java
  • iOS UITableViewCell自适应高度

      在cell.m文件中

      1)初始化方法中:

     self.lalName=[[UILabel alloc] initWithFrame:CGRectMake(71, 5, 250, 40)];
        [self addSubview:self.lalName];
    

     2)创建方法:

    //给用户介绍赋值并且实现自动换行
    -(void)setIntroductionText:(NSString*)text{
        //获得当前cell的高度
        CGRect frame=[self frame];
        //文本赋值
        self.lalName.text=text;
        CGSize size=CGSizeMake(300, 1000);
        //设置label的最大行数
        self.lalName.numberOfLines=10;
        CGSize labelSize=[self.lalName.text sizeWithFont:self.lalName.font constrainedToSize:size lineBreakMode:NSLineBreakByClipping];
        self.lalName.frame=CGRectMake(self.lalName.frame.origin.x, self.lalName.frame.origin.y, labelSize.width, labelSize.height) ;
        
        //计算出自适应的高度
        frame.size.height=labelSize.height+20;
        self.frame =frame;
        
    }
    

      

      在ViewController中:

    -(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath{
        static NSString *acell=@"acell";
        TextKitTableViewCell *cell=[tableView dequeueReusableCellWithIdentifier:acell];
        if (!cell) {
            cell=[[[NSBundle mainBundle] loadNibNamed:@"TextKitTableViewCell" owner:self options:nil]lastObject];
        }
        
     
        [cell setIntroductionText:@"where are you? where are you? where are you? where are you? where are you? where are you? where are you? where are you? where are you? where are you?where are you? where are you? where are you? where are you? where are you? where are you? where are you? where are you? where are you? where are you?"];
        return cell;
        
    }
    

      当然别忘记了返回给cell高度

    -(CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath{
        UITableViewCell *cell=[self tableView:self.tableViewTextKit cellForRowAtIndexPath:indexPath];
        NSLog(@"height===%f",cell.frame.size.height);
        return cell.frame.size.height;
    }
    

      

  • 相关阅读:
    UVa 10213
    树莓派学习路程No.2 GPIO功能初识 wiringPi安装
    树莓派学习路程No.1 树莓派系统安装与登录 更换软件源 配置wifi
    《软件工程》 的课程总结附加题。
    软件工程《个人总结》
    Java super关键字活用
    软件工程:黄金G点小游戏1.0
    Android之获取数据库路径
    Android自定义折线图
    软件工程:vs单元测试
  • 原文地址:https://www.cnblogs.com/boyuanmeng/p/4389941.html
Copyright © 2011-2022 走看看