天天看點

ios開發UI篇--UILabel

概述

  • UILabel

    類實作了一個隻讀文本視圖。你可以使用這個類來畫一個或多個靜态文本.

    UILabel

    類支援既簡單又複雜的樣式标簽文本,還可以控制外觀,比如标簽是否使用了一個影子或者處于高亮狀态等等.
  • UILabel

    類繼承自

    UIView

屬性

建立

UILabel

對象

UILabel *label = [[UILabel alloc] initWithFrame:CGRectMake(           

設定顯示文字,預設是空的

label.text = @"測試";
           

設定字型(系統預設字型是16号字型)

設定字型顔色(預設是黑色)

label.textColor = [UIColor redColor];
           

設定對齊方式(在iOS 9之後,此屬性的預設值是 NStextalignmentnatural;之前的iOS 9,預設值為nstextalignmentleft。)

居左 NSTextAlignmentLeft
居中 NSTextAlignmentCenter
居右 NSTextAlignmentRight
label.textAlignment = NSTextAlignmentCenter; 
           

設定換行模式

以一個單詞為機關換行,最後一行顯示不全内容以單詞截斷,後面直接不顯示 NSLineBreakByWordWrapping
以字元換行 NSLineBreakByCharWrapping
以一個單詞為機關換行,最後一行顯示不全的内容,在label的最後直接截斷,後面直接不顯示 NSLineBreakByClipping
顯示不全;最後一行将最後的内容顯示,前面使用...代替 例:Truncate at head of line: "...wxyasdasdz" NSLineBreakByTruncatingHead 顯示不全;最後一行将前面的内容顯示,最後使用...代替 例:Truncate at tail of line: "abcd..." NSLineBreakByTruncatingTail 顯示不全;最後一行将前面的内容顯示和最後的内容顯示,中間使用...代替 NSLineBreakByTruncatingMiddle label.lineBreakMode = NSLineBreakByWordWrapping; 
           

設定陰影顔色

label.shadowColor = [UIColor greenColor];
           

設定陰影的偏移量,預設是 CGSizeMake(0, -1) --

a top shadow

label.shadowOffset = CGSizeMake(           

設定行數(當文本需要自适應時,需将行數設定為0)

label.numberOfLines = 0;
           

adjustsFontSizeToFitWidth 

根據寬度調整

font

,預設為

NO

label.adjustsFontSizeToFitWidth = YES;
           

attributedText 

屬性文本,這裡不多做介紹,具體請點此檢視

高亮屬性

設定是否處于高亮狀态

[label setHighlighted:YES];
           

設定高亮狀态字型的顔色

label.highlightedTextColor = [UIColor blueColor];
           

設定能否進行使用者互動(預設為

NO

)

label.userInteractionEnabled = YES;
           

此屬性隻決定如何繪制标簽。禁用的文本有些模糊,表示它不活躍。預設情況下,此屬性被設定為yes。

label.enabled = NO;
           

自适應

default is NO

設定字型大小适應

label

寬度

label.adjustsFontSizeToFitWidth = YES;
           

default is UIBaselineAdjustmentAlignBaselines

//如果

adjustsFontSizeToFitWidth

屬性設定為

YES

,這個屬性就來控制文本基線的行為

label.baselineAdjustment = UIBaselineAdjustmentAlignBaselines;

           

項目中

label

自适應高度代碼

+ (CGFloat)getHeightByWidth:(CGFloat)width title:(NSString *)title font:(UIFont *)font
{
    
    UILabel *label = [[UILabel alloc] initWithFrame:CGRectMake(0, 0, width, 0)];
    label.text = title;
    label.font = font;
    label.numberOfLines = 0;
    [label sizeToFit];
    CGFloat height = label.frame.size.height;
    return height;
}      

項目中

label

自适應寬度的代碼

+ (CGFloat)getWidthWithTitle:(NSString *)title font:(UIFont *)font {
    UILabel *label = [[UILabel alloc] initWithFrame:CGRectMake(0, 0, 1000, 0)];
    label.text = title;
    label.font = font;
    [label sizeToFit];
    return label.frame.size.width;
}      

作者: coder小鵬

轉載于:https://www.cnblogs.com/jiuyi/p/10481157.html