如何使Label顯示時,一行頂部居中,兩行靠左顯示----董鑫


  有時我們會碰到這種情況,一個要根據內容顯示一行還是兩行,一行時還要靠着頂部再居中,比如下面

最左邊的名稱,要求是靠上的,如果按照正常的方式寫的話,可能一行的話就會出現居中顯示了,不會頂着頭部顯示。

我的解決辦法是:一行的時候加一個換行符來解決,這樣不就都一樣,都是兩行了嗎?代碼如下:

 1 NSArray *nameArr = @[@"中國建設銀行",@"andylau"];
 2 UILabel *namelab = [[UILabel alloc]initWithFrame:CGRectMake(10, 15, 60, 30)];
 3     namelab.font = [UIFont systemFontOfSize:12];
 4     namelab.numberOfLines = 2;
 5     namelab.textColor = [UIColor colorWithHexString:@"#B2B1AF"];
 6     NSString *str = nameArr[arc4random()%2];
 7     CGSize size = [str boundingRectWithSize:CGSizeMake(60.0, 2000) options:NSStringDrawingUsesLineFragmentOrigin attributes:@{NSFontAttributeName:[UIFont systemFontOfSize:12]} context:nil].size;
 8     if (size.width<60.0) {
 9         namelab.text = [NSString stringWithFormat:@"%@\n",str];
10         namelab.textAlignment = NSTextAlignmentCenter;
11     }else{
12         namelab.text = str;
13         namelab.textAlignment = NSTextAlignmentLeft;}

  也學你還有更好的方法,但這個也算一個不錯的解決辦法。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM