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

來源:互聯網
上載者:User

標籤:

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

iOS7中用以下方法替代過時的iOS6中的- (CGSize)sizeWithFont:(UIFont *)font 方法

- (CGSize)sizeWithAttributes:(NSDictionary *)attrs;

// 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);

iOS7中用以下方法boundingRectWithSize:options:attributes:context:替代過時的iOS6中的sizeWithFont:constrainedToSize:lineBreakMode:方法

// 根據本文內容多少,動態確定本文content的frame

           // 寬度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);

 

 

iOS_根據文字字數動態確定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.