UILabel用法,uilabel換行

來源:互聯網
上載者:User

UILabel用法,uilabel換行

  // UILabel -> UIView  

    // UILabel用來顯示文字內容

    

    //建立一個Label,一般都直接通過initWithFrame確定位置跟大小

    UILabel *lb = [[UILabel alloc]initWithFrame:CGRectMake(50, 80, 200, 200)];

   

    //設定背景色,系統預設是白色背景

    lb.backgroundColor = [UIColor grayColor];

    

    //設定文字

    lb.text = @"Application windows are expected to have a root view controller at the end of application launch";

    

    //設定文字的顏色後,並通過colorWithAlphaComponent設定它的透明度(0~1),系統預設為黑色

    lb.textColor = [[UIColor redColor] colorWithAlphaComponent:0.5];

    

    //設定字型大小,系統預設為17

    lb.font = [UIFont systemFontOfSize:20];

    

    //設定粗體,同時設定字型大小

    //lb.font = [UIFont boldSystemFontOfSize:20];

    

    //設定斜體,中文字型不生效

    //lb.font = [UIFont italicSystemFontOfSize:20];

    

    //  使用其他字型

    //lb.font = [UIFont fontWithName:@"Avenir Next Condensed" size:20];

 

    //倘若需要,可以通過以下函數來輸出iPhone所有的字型庫

    //NSLog(@"%@",[UIFont familyNames]);

 

    //設定字型的對齊

    /*

     NSTextAlignmentLeft            系統預設值

     NSTextAlignmentCenter        字型置中

     NSTextAlignmentRight          字型靠右對齊

    NSTextAlignmentJustified      段落的最後一行是natural-aligned

    NSTextAlignmentNatural        跟靠左對齊沒什麼差別,目前還不怎麼瞭解,歡迎指點

     */

    lb.textAlignment =  NSTextAlignmentCenter;

 

  //設定文字的陰影製作效果

    lb.shadowColor = [UIColor blueColor];

   //設定陰影位移(位移方向,自己通過多多嘗試就明白了,這裡就不做過多的講述)

    lb.shadowOffset = CGSizeMake(-5, 5);

    如下

  

  

 //文字的折行模式

    /*

    NSLineBreakByWordWrapping          以單詞作為截取,以單詞換行

    NSLineBreakByCharWrapping           以字元作為截取,以字元換行

    NSLineBreakByClipping               以單詞為截取,以字元換行

    NSLineBreakByTruncatingHead         Truncate at head of line: "...wxyz"

    NSLineBreakByTruncatingTail          Truncate at tail of line: "abcd..."

    NSLineBreakByTruncatingMiddle        Truncate middle of line:  "ab...yz

    */

  [注意]換行模式要結合下面的numberOfLines才能看得出效果

    lb.lineBreakMode = NSLineBreakByTruncatingHead;

    // 換行模式,預設為0,代表可以任意行

    lb.numberOfLines = 3 ;

 

 //設定文字高亮時的顏色[兩者要結合使用才能看出效果]

    lb.highlightedTextColor = [UIColor yellowColor];

    //設定文字是否高亮

    lb.highlighted = YES;

  

  //設定是否與使用者互動,預設值為NO,一般都是沒去修改它的,因為幾乎沒有用標籤於使用者互動

    lb.userInteractionEnabled = NO;

    

    //是否可變

    lb.enabled = NO;

 

  //最後說一個很重要的,也經常在標籤要用到的方法

  /*

     通過text文字的多少來計算文字的寬與高

     參數1: label最大顯示的矩形地區,比如下面的320跟 CGFLOAT_MAX就是這個Label標籤的寬跟高的最大值

     參數2: 計算的附加條件,例如換行模式

           一般使用: NSStringDrawingUsesFontLeading | NSStringDrawingUsesLineFragmentOrigin

            Leading: 行與行之間的間隔

            Origin: 每一行所佔據的矩形地區

     參數3: 是一個字典,計算一些屬性,比例文字的大小等

  傳回值是一個CGRect

     */

    CGSize size = [text boundingRectWithSize:CGSizeMake(320, CGFLOAT_MAX) options:NSStringDrawingUsesFontLeading | NSStringDrawingUsesLineFragmentOrigin attributes:@{NSFontAttributeName : [UIFont systemFontOfSize:20]} context:NULL].size;

 

  

 

 新手可以試著全部用標籤做出這個介面,練練手

 

 

 

 

 

 

 

 

 

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.