ios動態設定lbl文字標籤的高度

來源:互聯網
上載者:User

   本文給大家分享的是ios動態設定lbl文字標籤的高度寬度的方法,一共給大家匯總了3種方法,小夥伴們根據自己的項目需求自由選擇。

  代碼如下:

  txtlbl.font = [UIFont boldSystemFontOfSize:14.0f];

  txtlbl.numberOfLines = 0;

  NSString *str = @" 阿方決定設立科技特網路離開電視劇分w額兩個大陸高科技了了不見了日i倒計時離開我說老師肯德基弗蘭克薩江東父老將費德勒說阿方決定設立科技特網路離開電視劇分w額兩個大陸高科技了了不見了日i倒計時離開我立科說老師肯德基弗蘭克薩江東父老將費德勒說";

  CGSize size = [str sizeWithFont:txtlbl.font constrainedToSize:CGSizeMake(txtlbl.frame.size.width, MAXFLOAT) lineBreakMode:NSLineBreakByWordWrapping];

  //根據計算結果重新設定txtlbl的尺寸

  [txtlbl setFrame:CGRectMake(7, 0, 310, size.height)];

  txtlbl.text = str;

  方法二:

   代碼如下:

  // iOS7_API_根據文字 字數動態確定Label寬高

  // 設定Label的字型 HelveticaNeue Courier

  UIFont *fnt = [UIFont fontWithName:@"HelveticaNeue" size:24.0f];

  _nameLabel.font = fnt;

  // 根據字型得到NSString的尺寸

  CGSize size = [_nameLabel.text sizeWithAttributes:[NSDictionary dictionaryWithObjectsAndKeys:fnt,NSFontAttributeName, nil]];

  // 名字的H

  CGFloat nameH = size.height;

  // 名字的W

  CGFloat nameW = size.width;

  _nameLabel.frame = CGRectMake(0, 0, nameW,nameH);

  方法三:

  代碼如下:

  // 寬度W

  CGFloat contentW = self.bounds.size.width - _content.frame.origin.x - kMargin;

  // label的字型 HelveticaNeue Courier

  UIFont *fnt = [UIFont fontWithName:@"HelveticaNeue" size:18.0f];

  _content.font = fnt;

  _content.numberOfLines = 0;

  _content.lineBreakMode = NSLineBreakByWordWrapping;

  // iOS7中用以下方法替代過時的iOS6中的sizeWithFont:constrainedToSize:lineBreakMode:方法

  CGRect tmpRect = [_content.text boundingRectWithSize:CGSizeMake(contentW, 1000) options:NSStringDrawingUsesLineFragmentOrigin attributes:[NSDictionary dictionaryWithObjectsAndKeys:fnt,NSFontAttributeName, nil] context:nil];

  // 高度H

  CGFloat contentH = tmpRect.size.height;

  NSLog(@"調整後的顯示寬度:%f,顯示高度:%f"contentW,contentH);

  _content.frame = CGRectMake(0, 0, contentW,contentH);

相關文章

聯繫我們

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