【每日技术点】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 }

 

 

posted @ 2013-12-19 09:04  ymonke  阅读(171)  评论(0编辑  收藏  举报