【每日技术点】13.12.13

1、UITextView在UITableViewCell 中自适应高度的问题

 1 -(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath

 2 {

 3    。。。。。。

 4 

 5 UITextView * contentView = [[UITextView alloc] initWithFrame:CGRectZero];

 6         contentView.textColor = [UIColor colorWithRed:80.0/255.0 green:132.0/255.0 blue:183.0/255.0 alpha:1.0];

 7         [contentView setFont:[UIFont systemFontOfSize:12.0f]];

 8         [contentView setBackgroundColor:[UIColor clearColor]];

 9         [contentView setEditable:NO];

10         contentView.contentInset = UIEdgeInsetsMake(15,-8,0,18);//这句很重要,因为textview中的text也是有自己的边界的。

11         [cellBgView addSubview:contentView];

12         

13         NSString *text = [contentArray objectAtIndex:[indexPath section]];

14         CGSize constraint = CGSizeMake(200, 20000.0f);

15         CGSize size = [text sizeWithFont:[UIFont systemFontOfSize:12.0f] constrainedToSize:constraint lineBreakMode:NSLineBreakByWordWrapping];

16         [contentView setFrame:CGRectMake(10, 10, 280, MAX(size.height, 44.0f))];

17 

18  }
1 - (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath

2 {

3     NSString *text = [contentArray objectAtIndex:[indexPath section]];

4     CGSize constraint = CGSizeMake(200, 20000.0f);

5     CGSize size = [text sizeWithFont:[UIFont systemFontOfSize:12] constrainedToSize:constraint lineBreakMode:NSLineBreakByWordWrapping];

6     CGFloat height = MAX(size.height, 44.0f);

7     return height + (10 * 2);

8 }

 

 

你可能感兴趣的:(技术)