首页 > 代码库 > 实现UILabel中文字顶部对齐

实现UILabel中文字顶部对齐

在IOS中默认的UILabel是垂直居中对齐的,当Lable高度一定时,字符串内容较少时,会自然垂直居中。

以下2种方法可以达到文字顶部对齐的效果。

1.首先计算出当前文字需要的高度和长度,然后将UILabel的大小调整成相应的高度和长度。

 

CGSize maximumSize = CGSizeMake(300, 9999);

NSString *dateString = @"The date today is January 1st, 1999";

 CGSize dateStringSize=[dateString boundingRectWithSize:maximumSize options:NSStringDrawingUsesLineFragmentOrigin

attributes:@{NSFontAttributeName:[UIFont systemFontOfSize:15]} context:nil].size;

CGRect dateFrame = CGRectMake(10, 10, 300, dateStringSize.height);

self.dateLabel.frame = dateFrame;


2.在文本的后面多加一些\n,\n后至少加一个空格吧,要不后面的\n会无效,可以尝试此方法。

for(int i=0; i<newLinesToPad; i++)

{

self.text = [self.text stringByAppendingString:@"\n "];

}

 

实现UILabel中文字顶部对齐