天天看點

UILabel 常用屬性

//
//  UiLabelController.m
//  AppUI元件學習
//
//  Created by 麥子 on 15/6/14.
//  Copyright (c) 2015年 麥子. All rights reserved.
//

#import "UiLabelController.h"

// UILabel 學習
@implementation UiLabelController

- (void)viewDidLoad{
    [super viewDidLoad];
    self.view.backgroundColor = [UIColor blackColor];
    NSLog(@"label 開始初始化");
    [self createView:self.view];
}

// UILabel 的常用屬性
- (void)createView:(id)uiView{
    CGRect rect = CGRectMake(30,80, 200, 100);
    UILabel *label = [[UILabel alloc] initWithFrame:rect];
    label.text = @"文本學習";
    label.textColor = [UIColor blackColor];
    // 文字排版,
    label.textAlignment = NSTextAlignmentCenter;
    label.backgroundColor = [UIColor whiteColor];
    // 設定字型
    NSArray *array = [UIFont familyNames];
    for (NSString *str in array) {
        NSLog(@"字型名稱---%@",str);
    }
    label.font = [UIFont fontWithName:@"Papyrus" size:20];
    
    //加粗
    label.font = [UIFont systemFontOfSize:30];
    label.font = [UIFont boldSystemFontOfSize:30];
    label.font = [UIFont italicSystemFontOfSize:30];
    
    // 設定陰影
    label.shadowColor = [UIColor redColor];
    // 設定陰影偏移量
    label.shadowOffset = CGSizeMake(5, 50);
    // 設定高亮
    label.highlighted = YES;
    label.highlightedTextColor = [UIColor purpleColor]; // 如果文本原來是黑色,設定高亮後,就顯示高亮顔色了
    // 設定基線 : 預設是文字的最上端和中線對齊
    //    label.baselineAdjustment = UIBaselineAdjustmentAlignCenters; // 文本中線和label中線對齊
    //    label.baselineAdjustment = UIBaselineAdjustmentAlignBaselines; // 預設是文字的最上端和中線對齊
    label.baselineAdjustment = UIBaselineAdjustmentNone; // 文本最下端和中線對齊
    
    
    CGRect rect2 = CGRectMake(30,280, 200, 50);
    UILabel *label2 = [[UILabel alloc] initWithFrame:rect2];
    label2.text = @"字元串過多的時候,常用的一些屬性有哪一些,字元串過多的時候,常用的一些屬性有哪一些,";
    label2.textColor = [UIColor redColor];
    label2.backgroundColor = [UIColor whiteColor];
    
    // 顯示最大行數
    label2.numberOfLines = 0;//設定為0,表示不限制顯示行數,如果是高度不夠的話,還是不能顯示出來。出現。。。。預設
    // 設定内容超過寬度的模式
    label2.lineBreakMode = NSLineBreakByTruncatingMiddle;
    
    
    // 動态計算label的大小
    UILabel *label3 = [[UILabel alloc] initWithFrame:CGRectZero];
    label3.text = @"動态計算label的大小,動态計算label的大小,動态計算label的大小,動态計算label的大小,動态計算label的大小,動态計算label的大小**********";
    label3.numberOfLines = 0;
    
    // 另一種寫法
   // NSDictionary *dic = @{NSFontAttributeName:[UIFont systemFontOfSize:20.0]};

    NSMutableDictionary *dic = [[NSMutableDictionary alloc] init];
    [dic setValue:label3.font forKey:NSFontAttributeName];
    
    // IOS7通過這個方法計算出矩形的大小,通過你設定的字型的一些屬性設定,動态算出大小
    CGRect rect3 = [label3.text boundingRectWithSize:CGSizeMake(180, MAXFLOAT) options:NSStringDrawingUsesLineFragmentOrigin|NSStringDrawingUsesFontLeading attributes:dic context:nil];
  
    label3.frame = CGRectMake(30,300,rect3.size.width, rect3.size.height);
    label3.backgroundColor = [UIColor redColor];
    
    UIView *view = (UIView *)uiView;  // 強轉的時候,需要指定類型
    [view addSubview:label];
    [view addSubview:label2];
    [view addSubview:label3];
}


@end