iOS-UILabel

繼承關(guān)系:UIView : UIResponder : NSObject
///UILabel 顯示的文本只讀幔嫂,無法編輯誊薄,可以根據(jù)文字個數(shù)自動換行呢蔫;
///UITextField 可編輯本文,但是無法換行绽昏,只能一行顯示俏脊;當(dāng)點(diǎn)擊鍵盤上的return時,會觸發(fā)事件爷贫。
////UITextView 可編輯文本补憾,提供換行功能余蟹。

1威酒、聲明 初始化 布局

//創(chuàng)建uilabel   
    UILabel *label1 = [[UILabel alloc] initWithFrame:CGRectMake(20, 40, 280, 80)];

2挺峡、背景色

//設(shè)置背景色    
   label1.backgroundColor = [UIColor grayColor];
//是否能與用戶交互    
   label1.userInteractionEnabled = YES;
//設(shè)置tag    
   label1.tag = 91;

3橱赠、文本 字體 字間距 行間距 段間距

//設(shè)置標(biāo)簽文本    
    label1.text = @"Hello world!";    
//設(shè)置標(biāo)簽文本字體和字體大小    
    label1.font = [UIFont fontWithName:@"Arial" size:30];    
        
//字體、字號
//系統(tǒng)字體
    label.font = [UIFont systemFontOfSize:30.0];
//加粗
    label.font = [UIFont boldSystemFontOfSize:30.0];
//斜體
    label.font = [UIFont italicSystemFontOfSize:30.0];
//拿到所有字體
    NSArray* fonts = [UIFont familyNames];
//通過字體名字設(shè)置字體
    label.font = [UIFont fontWithName:[fonts objectAtIndex:5] size:30.0];
//文本最多行數(shù)宰啦,為0時沒有最大行數(shù)限制 自動換行   
    label1.numberOfLines = 2;    
//最小字體赡模,行數(shù)為1時有效漓柑,默認(rèn)為0.0    
    label1.minimumFontSize = 10.0;

//段 行 字間距
    label.numberOfLines = 0;
    NSMutableAttributedString *attributedString = [[NSMutableAttributedString alloc] initWithString:text attributes:@{NSKernAttributeName : @(1.5f)}];//字間距
    NSMutableParagraphStyle *paragraphStyle = [[NSMutableParagraphStyle alloc] init];
    [paragraphStyle setLineSpacing:5.0];//設(shè)置行間距
    [paragraphStyle setParagraphSpacing:50.0];//設(shè)置段間距
    [attributedString addAttribute:NSParagraphStyleAttributeName value:paragraphStyle range:NSMakeRange(0, [text length])];
    label.attributedText = attributedString;

// NSMutableParagraphStyle

4辆布、對齊方式茶鉴、顏色

//設(shè)置文本對其方式    
   label1.textAlignment = UITextAlignmentCenter;    
//文本對齊方式有以下三種    
   //typedef enum {    
   //    UITextAlignmentLeft = 0,左對齊    
   //    UITextAlignmentCenter,居中對齊    
   //    UITextAlignmentRight, 右對齊                     
   //} UITextAlignment;    
 //注:現(xiàn)在的版本已經(jīng)棄用上述對齊方式,以下方為主
 /* Values for NSTextAlignment */
typedef NS_ENUM(NSInteger, NSTextAlignment) {
   NSTextAlignmentLeft      = 0,    // Visually left aligned
#if TARGET_OS_IPHONE
   NSTextAlignmentCenter    = 1,    // Visually centered
   NSTextAlignmentRight     = 2,    // Visually right aligned
#else /* !TARGET_OS_IPHONE */
   NSTextAlignmentRight     = 1,    // Visually right aligned
   NSTextAlignmentCenter    = 2,    // Visually centered
#endif
   NSTextAlignmentJustified = 3,    // Fully-justified. The last line in a paragraph is natural-aligned.
   NSTextAlignmentNatural   = 4,    // Indicates the default alignment for script
} NS_ENUM_AVAILABLE_IOS(6_0);

5惭蹂、顏色

//文本顏色    
    label1.textColor = [UIColor blueColor];
//顏色漸變
    label.textColor = [UIColor colorWithPatternImage:[UIImage imageNamed:@""]];
//文本高亮    
    label1.highlighted = YES;
//高亮顏色
    label1.highlightedTextColor = [UIColor blueColor];    
//文本是否可變 :未激活剿干,灰色置尔,設(shè)置顏色無效
    label1.enabled = YES;    
//去掉label背景色    
    label1.backgroundColor = [UIColor clearColor];    
   
//文本陰影顏色    
    label1.shadowColor = [UIColor grayColor];    
//陰影偏移量   
    label1.shadowOffset = CGSizeMake(1.0, 1.0);

6榜轿、截取方式

//超出label邊界文字的截取方式    
   label1.lineBreakMode = UILineBreakModeTailTruncation;    
//截取方式有以下6種    
   //typedef enum {           
   //    UILineBreakModeWordWrap = 0,    以空格為邊界,保留整個單詞             
   //    UILineBreakModeCharacterWrap,   保留整個字符             
   //    UILineBreakModeClip,            到邊界為止             
   //    UILineBreakModeHeadTruncation,  省略開始甸私,以……代替           
   //    UILineBreakModeTailTruncation,  省略結(jié)尾,以……代替          
   //    UILineBreakModeMiddleTruncation,省略中間飞傀,以……代替砸烦,多行時作用于最后一行           
   //} UILineBreakMode;

7、文本基線 自適應(yīng)大小

//調(diào)整基線 需設(shè)置文本文字自適應(yīng)大小
    label1.adjustsFontSizeToFitWidth = YES;    
//baselineAdjustment這個值控制文本的基線位置唬格,只有文本行數(shù)為1是有效    
    label1.baselineAdjustment = UIBaselineAdjustmentAlignCenters;    
//有三種方式    
//typedef enum {    
//    UIBaselineAdjustmentAlignBaselines = 0, 默認(rèn)值文本最上端于label中線對齊    
//    UIBaselineAdjustmentAlignCenters,//文本中線于label中線對齊    
//    UIBaselineAdjustmentNone,//文本最低端與label中線對齊    
//} UIBaselineAdjustment;

8购岗、獲取label

/*
- (void)buttonClick:(UIButton*)button{
    //父視圖通過tag值獲取子視圖的指針對象
    /*
     子視圖可以設(shè)置一個tag值喊积,然后添加到父視圖上,父視圖就可以通過這個tag值拿到子視圖的指針注服。
     tag值也可以保存一些用戶的信息。
     */
    UILabel* label = (UILabel*)[self.view viewWithTag:100];
    label.text = @"我被修改了";
}
*/

9女淑、自適應(yīng)高度

//自動適應(yīng)高度
    CGSize size = CGSizeMake(280, 1000);
    UIFont *lableFont = [UIFont fontWithName:@"Arial" size:12.0];
    CGSize labelSize = [label.text sizeWithFont:lableFont constrainedToSize:size];//7.0 ,現(xiàn)如下
    [label1.text boundingRectWithSize:(CGSize) options:(NSStringDrawingOptions) attributes:(NSDictionary *) context:(NSStringDrawingContext *)]
    label.frame = CGRectMake(0, 0, 280, labelSize.height);
//或者
CGSize size = [label sizeThatFits:CGSizeMake(200, MAXFLOAT)];//根據(jù)文字的長度返回一個最佳寬度和高度  

10鸭你、富文本

//簡單富文本
    NSString *text = @"我是大壞蛋哦!";
    NSMutableAttributedString *attributeString = [[NSMutableAttributedString alloc] initWithString:text];
    [attributeString setAttributes:@{NSForegroundColorAttributeName : [UIColor yellowColor],   NSFontAttributeName : [UIFont systemFontOfSize:18]} range:NSMakeRange(2, 3)];
    label1.attributedText = attributeString;
//修改Range 所包含文本的 顏色阁谆、字體大小

11场绿、圓角 邊框

//圓角
    label.layer.backgroundColor =[UIColor yellowColor].CGColor;
    label.layer.cornerRadius =5.0;
    label.layer.frame = CGRectInset(label.layer.frame, 20, 20);
///邊框
    label.layer.borderColor = [[UIColor redColor] CGColor];
    label.layer.borderWidth = 2;

12嫉入、添加到主視圖

    [self.view addSubview:label1];    
    [label1 release];

13、點(diǎn)擊事件

//添加手勢
UITapGestureRecognizer

不能循環(huán)改變text

自定義UILabel

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末爷光,一起剝皮案震驚了整個濱河市澎粟,隨后出現(xiàn)的幾起案子活烙,更是在濱河造成了極大的恐慌,老刑警劉巖倦逐,帶你破解...
    沈念sama閱讀 219,188評論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件檬姥,死亡現(xiàn)場離奇詭異粉怕,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)秉犹,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,464評論 3 395
  • 文/潘曉璐 我一進(jìn)店門崇堵,熙熙樓的掌柜王于貴愁眉苦臉地迎上來鸳劳,“玉大人也搓,你說我怎么就攤上這事♂C” “怎么了?”我有些...
    開封第一講書人閱讀 165,562評論 0 356
  • 文/不壞的土叔 我叫張陵颤练,是天一觀的道長。 經(jīng)常有香客問我,道長电媳,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,893評論 1 295
  • 正文 為了忘掉前任庆亡,我火速辦了婚禮匾乓,結(jié)果婚禮上拼缝,老公的妹妹穿的比我還像新娘彰亥。我一直安慰自己,他們只是感情好任斋,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,917評論 6 392
  • 文/花漫 我一把揭開白布瘟檩。 她就那樣靜靜地躺著澈蟆,像睡著了一般墨辛。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上趴俘,一...
    開封第一講書人閱讀 51,708評論 1 305
  • 那天睹簇,我揣著相機(jī)與錄音,去河邊找鬼寥闪。 笑死太惠,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的疲憋。 我是一名探鬼主播垛叨,決...
    沈念sama閱讀 40,430評論 3 420
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼柜某!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起敛纲,我...
    開封第一講書人閱讀 39,342評論 0 276
  • 序言:老撾萬榮一對情侶失蹤翰绊,失蹤者是張志新(化名)和其女友劉穎谐檀,沒想到半個月后桐猬,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體刽肠,經(jīng)...
    沈念sama閱讀 45,801評論 1 317
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡溃肪,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,976評論 3 337
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了音五。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片惫撰。...
    茶點(diǎn)故事閱讀 40,115評論 1 351
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖躺涝,靈堂內(nèi)的尸體忽然破棺而出厨钻,到底是詐尸還是另有隱情,我是刑警寧澤坚嗜,帶...
    沈念sama閱讀 35,804評論 5 346
  • 正文 年R本政府宣布夯膀,位于F島的核電站,受9級特大地震影響惶傻,放射性物質(zhì)發(fā)生泄漏棍郎。R本人自食惡果不足惜涂佃,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,458評論 3 331
  • 文/蒙蒙 一否过、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧煤伟,春花似錦木缝、人聲如沸我碟。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,008評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春蔽挠,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背忽孽。 一陣腳步聲響...
    開封第一講書人閱讀 33,135評論 1 272
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人兄一。 一個月前我還...
    沈念sama閱讀 48,365評論 3 373
  • 正文 我出身青樓厘线,卻偏偏與公主長得像,于是被迫代替她去往敵國和親出革。 傳聞我的和親對象是個殘疾皇子造壮,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,055評論 2 355

推薦閱讀更多精彩內(nèi)容