ios開發UI篇--UILabel

概述

  • UILabel類實現了一個只讀文本視圖。你能夠使用這個類來畫一個或多個靜態文本.UILabel類支持既簡單又複雜的樣式標籤文本,還能夠控制外觀,好比標籤是否使用了一個影子或者處於高亮狀態等等.
  • UILabel類繼承自UIView

屬性

建立UILabel對象bash

UILabel *label = [[UILabel alloc] initWithFrame:CGRectMake(0, 0, 100, 100)]; 

設置顯示文字,默認是空的app

label.text = @"測試"; 

設置字體(系統默認字體是16號字體)測試

label.font = [UIFont systemFontOfSize:16]; 

設置字體顏色(默認是黑色)字體

label.textColor = [UIColor redColor]; 

設置對齊方式(在iOS 9以後,此屬性的默認值是 NStextalignmentnatural;以前的iOS 9,默認值爲nstextalignmentleft。)ui

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

設置換行模式spa

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

設置陰影顏色code

label.shadowColor = [UIColor greenColor]; 

設置陰影的偏移量,默認是 CGSizeMake(0, -1) -- a top shadow對象

label.shadowOffset = CGSizeMake(0, -2); 

設置行數(當文本須要自適應時,需將行數設置爲0)blog

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小鵬
相關文章
相關標籤/搜索