首页 > 移动平台 > 详细

IOS Label行距间隔 首行缩进的解决 原创

时间:2014-11-08 02:40:27      阅读:320      评论:0      收藏:0      [点我收藏+]

?Label的首行缩进一直是个很头疼的问题,现在IOS6只有有一个attributedText的属性值得我们深究,可以达到我们自定义的行高,还有首行缩进,各种行距和间隔问题。下面这个是两个Label, 一个是UserName,另一个是Content文本多行信息,这个效果就是 用户名: + 多行评论换行,而且首行间距根据用户名自动缩进

比如 ?小李: ?我评论了,还有什么问题再给我留言。。。

?

创建标签

?

@interface ViewController : UIViewController

@property (weak, nonatomic) IBOutletUILabel *usernameLabel

?

@property (weak, nonatomic) IBOutletUILabel *contentLabel;

?

@end

?

//视图展示层

?

- (void)viewDidLoad {

? ??self.usernameLabel.text?=?@"用户名Jordan CZ: ";

? ??self.usernameLabel.adjustsFontSizeToFitWidth?=?YES;

? ??[self.usernameLabel?sizeToFit];

?

? ? ?self.contentLabel.text?=?@"首行缩进根据用户昵称自动调整 间隔可自定根据需求随意改变。。。。。。。";

? ? ?self.contentLabel.adjustsFontSizeToFitWidth?=?YES;

? ???self.contentLabel.adjustsLetterSpacingToFitWidth?=?YES;

?

?

? ? ?[self?resetContent];

}

?

//自适应计算间距 ? ?

- (void)resetContent{

? ? NSMutableAttributedString *attributedString = [[NSMutableAttributedStringalloc] initWithString:self.contentLabel.text];

? ? NSMutableParagraphStyle *paragraphStyle = [[NSMutableParagraphStylealloc] init];

? ? paragraphStyle.alignment = NSTextAlignmentLeft;

? ? paragraphStyle.maximumLineHeight = 60; ?//最大的行高?

? ? paragraphStyle.lineSpacing = 5; ?//行自定义行高度

? ? [paragraphStyle setFirstLineHeadIndent:self.usernameLabel.frame.size.width + 5];//首行缩进 根据用户昵称宽度在加5个像素

? ? [attributedString addAttribute:NSParagraphStyleAttributeNamevalue:paragraphStyle range:NSMakeRange(0, [self.contentLabel.textlength])];

? ? self.contentLabel.attributedText = attributedString;

? ? [self.contentLabelsizeToFit];

}

? ?

还有其他的问题可以发出来一起讨论讨论!!bubuko.com,布布扣

? ??

?

IOS Label行距间隔 首行缩进的解决 原创

原文:http://tsyouaschen.iteye.com/blog/2153296

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!