1. 程式人生 > >iOS開發之 UIlabel(以後有新發現或者好的用法會補充~)

iOS開發之 UIlabel(以後有新發現或者好的用法會補充~)

一、UILabel 的基本用法

- (void)viewDidLoad {
    [super viewDidLoad];
    // Do any additional setup after loading the view, typically from a nib.
    UILabel *label = [[UILabel alloc]
                      //佈局設定
                      initWithFrame:CGRectMake(100, 100, 120, 40)];//設定位置與尺寸:CGRectMake(X座標, Y座標, 控制元件寬X, 控制元件長Y)
    //文字設定
    label.text = @"Hellow World";//文字內容
    label.textColor = [UIColor whiteColor];//文字顏色
    label.font = [UIFont systemFontOfSize:15];//文字字型
    label.textAlignment =NSTextAlignmentCenter;//文字對齊模式
    //背景顏色
    label.backgroundColor = [UIColor lightGrayColor];
    //陰影
    label.shadowOffset = CGSizeMake(5, 5);//陰影偏移
    label.shadowColor = [UIColor grayColor];//陰影顏色
    [self.view addSubview:label];
}


二、多行文字

label的尺寸(CGMake)會影響label中的文字顯示,比如在預設設定下,設定更多的文字內容:

    UILabel *label = [[UILabel alloc]
                      initWithFrame:CGRectMake(100, 100, 120, 40)];
    label.text = @"abcdefghigklmnopqrstuvwxyz";


這種情況叫做截斷,就是省略。可以選擇截斷模式即省略的部分:

    label.lineBreakMode = NSLineBreakByTruncatingHead;//截斷文字首部(預設,如上圖)
    label.lineBreakMode = NSLineBreakByTruncatingTail;//截斷文字尾部
    label.lineBreakMode = NSLineBreakByTruncatingMiddle;//截斷文字中間

還有另一種換行模式,採用多行的形式顯示文字內容:
    label.numberOfLines = 2;//0為無限多行
    label.lineBreakMode = NSLineBreakByWordWrapping;//以單詞為標準
    label.lineBreakMode = NSLineBreakByCharWrapping;//以字元為標準
    label.lineBreakMode = NSLineBreakByClipping;//以控制元件邊緣為標準


換行模式可與截斷模式一起使用

    label.numberOfLines = 2;
    label.lineBreakMode = NSLineBreakByWordWrapping|NSLineBreakByTruncatingHead;