• ios UITableView高度自适应(转)


     1 - (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath {
     2     // 列寬
     3     CGFloat contentWidth = self.tableView.frame.size.width;
     4     // 用何種字體進行顯示
     5     UIFont *font = [UIFont systemFontOfSize:13];
     6     
     7     // 該行要顯示的內容
     8     NSString *content = [data objectAtIndex:indexPath.row];
     9     // 計算出顯示完內容需要的最小尺寸
    10     CGSize size = [content sizeWithFont:font constrainedToSize:CGSizeMake(contentWidth, 1000) lineBreakMode:UILineBreakModeWordWrap];
    11     
    12     // 這裏返回需要的高度
    13     return size.height; 
    14 }
    15 
    16 // Customize the appearance of table view cells.
    17 - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
    18     
    19     static NSString *CellIdentifier = @"Cell";
    20     // 列寬
    21     CGFloat contentWidth = self.tableView.frame.size.width;
    22     // 用何種字體進行顯示
    23     UIFont *font = [UIFont systemFontOfSize:13];
    24     
    25     // 該行要顯示的內容
    26     NSString *content = [data objectAtIndex:indexPath.row];
    27     // 計算出顯示完內容需要的最小尺寸
    28     CGSize size = [content sizeWithFont:font constrainedToSize:CGSizeMake(contentWidth, 1000) lineBreakMode:UILineBreakModeWordWrap];
    29     
    30     // 構建顯示行
    31     UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
    32     if (cell == nil) {
    33         cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier] autorelease];
    34     }
    35     
    36     CGRect rect = [cell.textLabel textRectForBounds:cell.textLabel.frame limitedToNumberOfLines:0];
    37     // 設置顯示榘形大小
    38     rect.size = size;
    39     // 重置列文本區域
    40     cell.textLabel.frame = rect;
    41     
    42     cell.textLabel.text = content;
    43     
    44     // 設置自動換行(重要)
    45     cell.textLabel.numberOfLines = 0;
    46     // 設置顯示字體(一定要和之前計算時使用字體一至)
    47     cell.textLabel.font = font;
    48 
    49     return cell;
    50 }

    转自:http://mrjeye.iteye.com/blog/1045785

  • 相关阅读:
    Python sys.argv用法详解及应用
    Python map() 函数
    Python中enumerate用法详解
    闭包,作用域链,垃圾回收,内存泄露
    jQuery 常用代码集锦
    关于作用域和作用域链最完整的简述
    git 合并commit
    apollo-client
    关于对称加密和解密
    接口校验机制
  • 原文地址:https://www.cnblogs.com/lihaibo-Leao/p/3332678.html
Copyright © 2020-2023  润新知