iOS應用中UILabel文字顯示效果的常用設定總結_IOS

來源:互聯網
上載者:User

建立UIlabel對象

複製代碼 代碼如下:

UILabel* label = [[UILabel alloc] initWithFrame:self.view.bounds];

設定顯示文本
複製代碼 代碼如下:

label.text = @"This is a UILabel Demo,";

設定文本字型
複製代碼 代碼如下:

label.font = [UIFont fontWithName:@"Arial" size:35];

設定文本顏色
複製代碼 代碼如下:

label.textColor = [UIColor yellowColor];

設定文本水平顯示位置
複製代碼 代碼如下:

label.textAlignment = UITextAlignmentCenter;

設定背景顏色
複製代碼 代碼如下:

label.backgroundColor = [UIColor blueColor];

設定單詞折行方式
複製代碼 代碼如下:

label.lineBreakMode = UILineBreakModeWordWrap;

設定label是否可以顯示多行,0則顯示多行
複製代碼 代碼如下:

label.numberOfLines = 0;

動態調整UILabel高度
複製代碼 代碼如下:

[label sizeToFit];

根據內容大小,動態設定UILabel的高度
複製代碼 代碼如下:

CGSize size = [label.text sizeWithFont:label.font constrainedToSize:self.view.bounds.size lineBreakMode:label.lineBreakMode];

CGRect rect = label.frame;

rect.size.height = size.height;

label.frame = rect; 


換行模式
複製代碼 代碼如下:

typedef enum {
   UILineBreakModeWordWrap = 0,      // 以空格為邊界,保留整個單詞
   UILineBreakModeCharacterWrap,     // 保留整個字元
   UILineBreakModeClip,                     // 到邊界為止
   UILineBreakModeHeadTruncation,    // 省略開始,以……代替
   UILineBreakModeTailTruncation,      // 省略結尾,以……代替
   UILineBreakModeMiddleTruncation,  // 省略中間,以……代替,多行時作用於最後一行 
} UILineBreakMode;

其他:
   UILineBreakModeWordWrap = 0,
   以單詞為單位換行,以單位為單位截斷。
   UILineBreakModeCharacterWrap,
   以字元為單位換行,以字元為單位截斷。
   UILineBreakModeClip,
   以單詞為單位換行。以字元為單位截斷。
   UILineBreakModeHeadTruncation,
   以單詞為單位換行。如果是單行,則開始部分有省略符號。如果是多行,則中間有省略符號,省略符號後面有4個字元。
   UILineBreakModeTailTruncation,
   以單詞為單位換行。無論是單行還是多行,都是末尾有省略符號。
   UILineBreakModeMiddleTruncation,
   以單詞為單位換行。無論是單行還是多行,都是中間有省略符號,省略符號後面只有2個字元。

技巧:根據字串長度自動適應寬度和高度  

複製代碼 代碼如下:

//這個frame是初設的,沒關係,後面還會重新設定其size。
    UILabel *label = [[UILabel alloc] initWithFrame:CGRectMake(0,0,0,0)];
    label.numberOfLines = 0;
    label.backgroundColor = [UIColor clearColor];
   
    NSDictionary *attributes = @{NSFontAttributeName:[UIFont systemFontOfSize:20],};
   
    NSString *str = @"abcdefg你上課可是你的拿到了";
    CGSize textSize = [str boundingRectWithSize:CGSizeMake(100, 100) options:NSStringDrawingTruncatesLastVisibleLine attributes:attributes context:nil].size;;
   
    [label setFrame:CGRectMake(100, 100, textSize.width, textSize.height)];
    label.textColor = [UIColor greenColor];
    label.text = str;
    [self.view addSubview:label];
   
  

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.