您的位置:首页 > 产品设计 > UI/UE

UILabel根据字符串长度获取大小,设置Frame

2015-02-27 16:03 471 查看
从IOS7开始,label根据字符串长度设置大小使用如下方法:
- (CGRect)boundingRectWithSize:(CGSize)size 
options:(NSStringDrawingOptions)options 
attributes:(NSDictionary *)attributes 
context:(NSStringDrawingContext *)context NS_AVAILABLE_IOS(7_0);
   
示例代码如下:
    //label标签多行显示,根据字符串长度设置大小
    NSString *tmpStr = @"-------------------------------结束";
    NSMutableParagraphStyle *paragraphStyle = [[NSMutableParagraphStyle alloc]init];
    paragraphStyle.lineBreakMode = NSLineBreakByWordWrapping;
    NSDictionary *attributes = @{NSFontAttributeName:m_carMode.font, NSParagraphStyleAttributeName:paragraphStyle.copy};
    CGFloat width_label = 180;
    CGSize modelSize = [str boundingRectWithSize:CGSizeMake(width_label, 0)
                                              options:NSStringDrawingUsesLineFragmentOrigin
                                           attributes:attributes
                                              context:nil].size;
    m_Label.numberOfLines = 0;
m_Label.frame = CGRectMake(origin_x, origin_y, modelSize.width, modelSize.height);
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  uilabel 多行显示 ios7
相关文章推荐