您的位置:首页 > 产品设计 > UI/UE

ios 调整UILabel的行高

2014-03-03 16:19 323 查看
#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自动调整高度
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;

}

文章转自http://www.cocoachina.com/bbs/read.php?tid=178403
谢谢版主 淡定
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: