UILabel與UIFont的用法和屬性的一些總結

初始化一個UILabel對象,並初始化大小數組

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

設置顯示的文字函數

label.text=@"123";佈局

和字體相關的一個類,字號大小默認17字體

@property(nonatomic,retain) UIFont*font; atom

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
//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);code

設置陰影顏色

label.shadowColor=[UIColor blackColor];

設置對齊模式

label.textAlignment=NSTextAlignmentJustified;

?
1
2
3
4
5
6
7
8
9
10
11
enum  {
    //沿左邊沿對齊文本
    NSTextAlignmentLeft      = 0,
    //中心對齊
    NSTextAlignmentCenter    = 1,
    //右邊沿對齊
    NSTextAlignmentRight     = 2,
    //最後一行天然對齊
    NSTextAlignmentJustified = 3,
    //默認對齊
    NSTextAlignmentNatural   = 4,}; typedef  NSInteger NSTextAlignment;

 

多行文本設置

label.lineBreakMode=NSLineBreakByCharWrapping;

?
1
2
3
4
5
6
7
8
9
10
11
12
13
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;

?
1
2
3
4
5
6
7
typedef  enum  {
    //調整文本對應基線位置
    UIBaselineAdjustmentAlignBaselines,
    //調整文本相對其邊框的中心
    UIBaselineAdjustmentAlignCenters,
    //調整文本相對於邊界的左上角 默認的
    UIBaselineAdjustmentNone,} UIBaselineAdjustment;

 

返回文本繪製矩形

- (CGRect)textRectForBounds:(CGRect)bounds limitedToNumberOfLines:(NSInteger)numberOfLines;

文本繪製函數

- (void)drawTextInRect:(CGRect)rect

文本自動佈局參數

@property(nonatomic) CGFloat preferredMaxLayoutWidth 

相關文章
相關標籤/搜索