初始化一個UILabel對象,並初始化大小數組
UILabel * label = [[UILabel alloc]initWithFrame:CGRectMake(100, 100, 100, 100)];app
設置顯示的文字函數
label.text=@"123";佈局
和字體相關的一個類,字號大小默認17字體
@property(nonatomic,retain) UIFont*font; atom
//7.0以後可用 設置字體風格 // NSString *const UIFontTextStyleHeadline; 用於標題的風格 // NSString *const UIFontTextStyleSubheadline;用於副標題的風格 // NSString *const UIFontTextStyleBody;用於正文的字體 // NSString *const UIFontTextStyleFootnote;用於腳註的字體 // NSString *const UIFontTextStyleCaption1;用於標準字幕字體 // NSString *const UIFontTextStyleCaption2;用於替換字幕字體 label.font=[UIFont preferredFontForTextStyle:UIFontTextStyleCaption2]; //說實話,沒看出什麼太大的差異 //設置字體和字體大小 + (UIFont *)fontWithName:(NSString *)fontName size:(CGFloat)fontSize; //返回全部字體的字體家族名稱數組 + (NSArray *)familyNames; //按字體家族名稱返回字體名稱數組 + (NSArray *)fontNamesForFamilyName:(NSString *)familyName; //設置普通字體字號大小 + (UIFont *)systemFontOfSize:(CGFloat)fontSize; //設置加粗字體字號大小 + (UIFont *)boldSystemFontOfSize:(CGFloat)fontSize; //設置斜體字號大小 + (UIFont *)italicSystemFontOfSize:(CGFloat)fontSize; //一些只讀屬性 //字體家族名稱 @property(nonatomic,readonly,retain) NSString *familyName; //字體名稱 @property(nonatomic,readonly,retain) NSString *fontName; //字號大小 @property(nonatomic,readonly) CGFloat pointSize; //字體設計模型,表示距離最高點偏移餘量 @property(nonatomic,readonly) CGFloat ascender; //底部的模型偏移量 @property(nonatomic,readonly) CGFloat descender; //字體模型的頭高信息 @property(nonatomic,readonly) CGFloat capHeight; //字體模型的xHeight信息 @property(nonatomic,readonly) CGFloat xHeight; //字體行高 @property(nonatomic,readonly) CGFloat lineHeight NS_AVAILABLE_IOS(4_0); //模型主體信息 @property(nonatomic,readonly) CGFloat leading; //建立一個新字體與當前字體相同,除了指定的大小 - (UIFont *)fontWithSize:(CGFloat)fontSize; //經過描述信息返回字體 7.0後可用 + (UIFont *)fontWithDescriptor:(UIFontDescriptor *)descriptor size:(CGFloat)pointSize NS_AVAILABLE_IOS(7_0); //返回字體的描述信息,7.0後可用 - (UIFontDescriptor *)fontDescriptor NS_AVAILABLE_IOS(7_0);
設置字體顏色spa
label.textColor=[UIColor redColor];.net
設置陰影偏移量設計
label.shadowOffset=CGSizeMake(20, 20);3d
設置陰影顏色
label.shadowColor=[UIColor blackColor];
設置對齊模式
label.textAlignment=NSTextAlignmentJustified;
enum { //沿左邊沿對齊文本 NSTextAlignmentLeft = 0, //中心對齊 NSTextAlignmentCenter = 1, //右邊沿對齊 NSTextAlignmentRight = 2, //最後一行天然對齊 NSTextAlignmentJustified = 3, //默認對齊 NSTextAlignmentNatural = 4,};typedef NSInteger NSTextAlignment;
多行文本設置
label.lineBreakMode=NSLineBreakByCharWrapping;
enum { //文本邊緣處理 NSLineBreakByWordWrapping = 0, //提早處理不合適的字符 NSLineBreakByCharWrapping, //簡單線性處理 NSLineBreakByClipping, //丟失的開頭用省略號表示 NSLineBreakByTruncatingHead, //丟失的文本在末尾顯示省略號 NSLineBreakByTruncatingTail, //丟失的文本在中間顯示省略號 NSLineBreakByTruncatingMiddle };typedef NSUInteger NSLineBreakMode
使用attributedText繪製
@property(nonatomic,copy) NSAttributedString *attributedText
設置高亮的字體顏色
label.highlightedTextColor=[UIColor blueColor];
//設置是否高亮
label.highlighted=YES;
用戶交互 默認關閉
label.userInteractionEnabled=NO;
是否有效,默認是YES,無效爲灰色
label.enabled=NO;
顯示的行數,0爲無限
@property(nonatomic) NSInteger numberOfLines;
寬度自適應大小 默認是NO
@property(nonatomic) BOOL adjustsFontSizeToFitWidth;
字符適應寬度:不同意使用
@property(nonatomic) BOOL adjustsLetterSpacingToFitWidth
最小適應大小2.0-6.0
@property(nonatomic) CGFloat minimumFontSize
最小適應大小 6.0 以後
@property(nonatomic) CGFloat minimumScaleFactor
垂直方向的調整
@property(nonatomic) UIBaselineAdjustment baselineAdjustment;
typedef enum { //調整文本對應基線位置 UIBaselineAdjustmentAlignBaselines, //調整文本相對其邊框的中心 UIBaselineAdjustmentAlignCenters, //調整文本相對於邊界的左上角 默認的 UIBaselineAdjustmentNone,} UIBaselineAdjustment;
返回文本繪製矩形
- (CGRect)textRectForBounds:(CGRect)bounds limitedToNumberOfLines:(NSInteger)numberOfLines;
文本繪製函數
- (void)drawTextInRect:(CGRect)rect
文本自動佈局參數
@property(nonatomic) CGFloat preferredMaxLayoutWidth
專一技術,熱愛生活,交流技術,也作朋友。
——琿少 QQ羣:203317592