iOS開發之 UIlabel(以後有新發現或者好的用法會補充~)
阿新 • • 發佈:2018-12-30
一、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;