iOS之UILabel的自動換行,iosuilabel

來源:互聯網
上載者:User

iOS之UILabel的自動換行,iosuilabel

思路:

實現:

UILabel *label = [[UILabel alloc] init];

    label.text = @"你好,這是UILabel的自動換行測試內容,主要實現多行資料的自動換行,自適應不同行數的資料";

    NSDictionary *attribute = @{NSFontAttributeName: [UIFont systemFontOfSize:14]};

    CGSize labelSize = [label.text boundingRectWithSize:CGSizeMake(200, 5000) options: NSStringDrawingTruncatesLastVisibleLine | NSStringDrawingUsesLineFragmentOrigin | NSStringDrawingUsesFontLeading attributes:attribute context:nil].size;

//200為UILabel的寬度,5000是預設的一個高度,表示在這個範圍內

//注意:之前使用了NSString類的sizeWithFont: constrainedToSize: lineBreakMode:方法,但是該方法已經被iOS7 Deprecated了,而iOS7新出了一個boudingRectWithSize: options: attributes: context:方法來代替。

    label.frame = CGRectMake(label.frame.origin.x, label.frame.origin.y, label.frame.size.width, labelSize.height);

//保持原來Label的位置和寬度,只是改變高度。

    label.numberOfLines = 0;//表示label可以多行顯示

    label.textColor = UICOLOR_FROM_RGB(100, 100, 100, 1);

    label.font = [UIFont systemFontOfSize:14];

    [self.view addSubview:label];

 

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.