zoukankan      html  css  js  c++  java
  • iOS_根据文字字数动态确定Label宽高

    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(00, 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(00, contentW,contentH);
  • 相关阅读:
    iOS的生命周期
    【iOS开发】在 App 中加入 AdMob 广告
    iOS性能优化:Instruments
    动态的计算行高 加载数据源 有多少显示多少 tableView 包含 colloctionView 显示复杂的界面写法
    Java String.split()注意点
    Java eclipse export jar包 包括第三方引入的jar
    微信网页授权获取用户基本信息
    android连接本地tomcat服务器,报timeout
    iOS内存管理retain,assign,copy,strong,weak
    static与全局与局部变量的区别
  • 原文地址:https://www.cnblogs.com/wangxiaorui/p/5674458.html
Copyright © 2011-2022 走看看