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
谢谢版主 淡定
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
谢谢版主 淡定
相关文章推荐
- 调整UILabel行高间距(利用iOS 6的特性来手动调整行间矩)
- IOS探索之调整UILabel行高间距(利用iOS 6的特性来手动调整行间矩)
- 调整UILabel行高间距(利用iOS 6的特性来手动调整行间矩)
- IOS UILabel调整行高间距(利用iOS 6的特性来手动调整行间矩)
- [代码分享]调整UILabel行高间距(利用iOS 6的特性来手动调整行间矩)
- 调整UILabel行高间距--顶用
- iOS UILabel 设置行高
- iOS UILabel根据内容自动调整高度
- iOS动态调整UILabel高度的几种方法
- IOS UILabel自适应里面的文字,自动调整宽度和高度的
- iOS UILabel 设置行高
- IOS开发调整UILabel的行间距
- IOS UILabel自适应里面的文字,自动调整宽度和高度的
- iOS 根据字体调整UILabel的大小
- IOS UILabel自适应里面的文字,自动调整宽度和高度的
- iOS开发--UILabel根据内容自动调整高度
- iOS开发调整UILabel的行间距
- iOS7.0中UILabel高度调整注意事项
- iOS UILabel自适应里面的文字,自动调整宽度和高度
- iOS学习:UILabel和sizeWithFont方法,可用于动态调整UILabel大小