码迷,mamicode.com
首页 > 移动开发 > 详细

IOS 计算UILable字符串高度

时间:2015-05-28 23:04:38      阅读:298      评论:0      收藏:0      [点我收藏+]

标签:

IOS7 之前

截取了部分

@interface ZGViewCell ()

@property (nonatomic, strong) UILabel *nameLable;

@end

- (UILabel *)nameLable{

    if (_nameLable == nil) {

        _nameLable = [[UILabel alloc] init];

        [self.contentView addSubview:_nameLable];

       // _nameLable.backgroundColor = [UIColor redColor];

        // 默认字体是17,会出现 ”···“

        _nameLable.font = [UIFont fontWithName:@"Arial" size:14];

    }

    return _nameLable;

}

// 位置

- (void)settingFrame{

    

    CGFloat padding = 10;

   

    // 图标

    CGFloat iconX = padding;

    CGFloat iconY = padding;

    CGFloat iconW = 30;

    CGFloat iconH = 30;

    self.iconImage.frame = CGRectMake(iconX, iconY, iconW, iconH);

    

    // 姓名    

    UIFont *nameFont = [UIFont fontWithName:@"Arial" size:14.0f];

    CGSize nameFrame = [self.statuses.name sizeWithFont:nameFont constrainedToSize:CGSizeMake(MAXFLOAT, MAXFLOAT) lineBreakMode:NSLineBreakByWordWrapping];

    

    CGFloat nameX = CGRectGetMaxX(self.iconImage.frame) + padding;

    CGFloat nameY = (self.iconImage.frame.size.height - nameFrame.height) * 0.5 + padding;

    self.nameLable.frame = CGRectMake(nameX, nameY, nameFrame.width, nameFrame.height);

}

IOS 7 苹果在UIStringDrawing.h中增加了很多方法

与上面对应的

/** boundingRectWithSize计算给定文本字符串所占的区域

  返回值是一个x,y = 0的CGRect 

  如果要计算多行的准确高度,需要传入NSStringDrawingUsesLineFragmentOrigin选项

  dict用于指定字体的相关属性的字典,UIKit框架中的第一个头文件

*/

// 位置

- (void)settingFrame{

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

CGRect nameFrame= [str boundingRectWithSize:CGSizeMake(MAXFLOAT, MAXFLOAT) options:NSStringDrawingUsesLineFragmentOrigin attributes:nameDict context:nil]; 

nameFrame.origin.x = CGRectGetMaxX(self.iconImage.frame) + padding;

nameFrame.origin.y = (self.iconImage.frame.size.height - nameFrame.height) * 0.5 + padding;

self.nameLable.frame = nameFrame;

}

 

IOS 计算UILable字符串高度

标签:

原文地址:http://www.cnblogs.com/zhgz/p/4537103.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!