#define LINESPACE 20
UILabel *label = [[UILabel alloc] initWithFrame:CGRectMake(0, 100, 320, 200)];
[label setBackgroundColor:[UIColor blackColor]];
[label setTextColor:[UIColor whiteColor]];
[label setNumberOfLines:0];
NSString *labelText = @"可以自己按照宽高,字体大小,来计算有多少行。。然后。。。每行画一个UILabel。。高度自己可以控制把这个写一个自定义的类。 ";
NSMutableAttributedString *attributedString = [[NSMutableAttributedString alloc] initWithString:labelText];
NSMutableParagraphStyle *paragraphStyle = [[NSMutableParagraphStyle alloc] init];
[paragraphStyle setLineSpacing:LINESPACE];//调整行间距
[attributedString addAttribute:NSParagraphStyleAttributeName value:paragraphStyle range:NSMakeRange(0, [labelText length])];
label.attributedText = attributedString;
[self.view addSubview:label];
[label sizeToFit];
tabelView中cell自动调整高度
UILabel *label = [[UILabel alloc] initWithFrame:CGRectMake(0, 100, 320, 200)];
[label setBackgroundColor:[UIColor blackColor]];
[label setTextColor:[UIColor whiteColor]];
[label setNumberOfLines:0];
NSString *labelText = @"可以自己按照宽高,字体大小,来计算有多少行。。然后。。。每行画一个UILabel。。高度自己可以控制把这个写一个自定义的类。 ";
NSMutableAttributedString *attributedString = [[NSMutableAttributedString alloc] initWithString:labelText];
NSMutableParagraphStyle *paragraphStyle = [[NSMutableParagraphStyle alloc] init];
[paragraphStyle setLineSpacing:LINESPACE];//调整行间距
[attributedString addAttribute:NSParagraphStyleAttributeName value:paragraphStyle range:NSMakeRange(0, [labelText length])];
label.attributedText = attributedString;
[self.view addSubview:label];
[label sizeToFit];
tabelView中cell自动调整高度
if(tableView == kindTableView)
{
NSInteger section = indexPath.section;
customCell *cell = (customCell *)[tableView dequeueReusableCellWithIdentifier:customCellView];
if (cell == nil) {
[[NSBundle mainBundle] loadNibNamed:@"customCell" owner:self options:nil];
cell = _customCell;
}
FileListItem * item = [cuArray objectAtIndex:indexPath.row];
cell.textLabel.text = item.name;
cell.textLabel.lineBreakMode = NSLineBreakByWordWrapping;
cell.textLabel.numberOfLines = 0;
cell.textLabel.font = [UIFont fontWithName:@"Helvetica" size:17.0];
UIFont *cellFont = [UIFont fontWithName:@"Helvetica" size:17.0];
CGSize constraintSize = CGSizeMake(280.0f, MAXFLOAT);
CGSize labelSize = [cell.textLabel.text sizeWithFont:cellFont constrainedToSize:constraintSize lineBreakMode:NSLineBreakByWordWrapping];
CGRect frame = cell.textLabel.frame;
cell.textLabel.frame = CGRectMake(frame.origin.x, ((labelSize.height + 20)-frame.size.height)/2, frame.size.width, frame.size.height);
}
return cell;
//设置cell每行间隔的高度
- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath{
NSString *cellText = item.name;
UIFont *cellFont = [UIFont fontWithName:@"Helvetica" size:17.0];
CGSize constraintSize = CGSizeMake(280.0f, MAXFLOAT);
CGSize labelSize = [cellText sizeWithFont:cellFont constrainedToSize:constraintSize lineBreakMode:NSLineBreakByWordWrapping];
return labelSize.height + 20;
}
{
NSInteger section = indexPath.section;
customCell *cell = (customCell *)[tableView dequeueReusableCellWithIdentifier:customCellView];
if (cell == nil) {
[[NSBundle mainBundle] loadNibNamed:@"customCell" owner:self options:nil];
cell = _customCell;
}
FileListItem * item = [cuArray objectAtIndex:indexPath.row];
cell.textLabel.text = item.name;
cell.textLabel.lineBreakMode = NSLineBreakByWordWrapping;
cell.textLabel.numberOfLines = 0;
cell.textLabel.font = [UIFont fontWithName:@"Helvetica" size:17.0];
UIFont *cellFont = [UIFont fontWithName:@"Helvetica" size:17.0];
CGSize constraintSize = CGSizeMake(280.0f, MAXFLOAT);
CGSize labelSize = [cell.textLabel.text sizeWithFont:cellFont constrainedToSize:constraintSize lineBreakMode:NSLineBreakByWordWrapping];
CGRect frame = cell.textLabel.frame;
cell.textLabel.frame = CGRectMake(frame.origin.x, ((labelSize.height + 20)-frame.size.height)/2, frame.size.width, frame.size.height);
}
return cell;
//设置cell每行间隔的高度
- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath{
NSString *cellText = item.name;
UIFont *cellFont = [UIFont fontWithName:@"Helvetica" size:17.0];
CGSize constraintSize = CGSizeMake(280.0f, MAXFLOAT);
CGSize labelSize = [cellText sizeWithFont:cellFont constrainedToSize:constraintSize lineBreakMode:NSLineBreakByWordWrapping];
return labelSize.height + 20;
}
文章转自http://www.cocoachina.com/bbs/read.php?tid=178403
谢谢版主 淡定