你好,歡迎來到IOS教程網

 Ios教程網 >> IOS教程 >> 關於IOS教程 >> ios動態設置lbl文字標簽的高度

ios動態設置lbl文字標簽的高度

編輯:關於IOS教程

代碼如下:

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

  1. 上一頁:
  2. 下一頁:
蘋果刷機越獄教程| IOS教程問題解答| IOS技巧綜合| IOS7技巧| IOS8教程
Copyright © Ios教程網 All Rights Reserved