zoukankan      html  css  js  c++  java
  • 根据字符长度动态确定UIlabel宽高

    iOS7中用以下方法

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


    替代过时的iOS6中的- (CGSize)sizeWithFont:(UIFont *)font 方法


     1 // iOS7_API_根据文字 字数动态确定Label宽高
     2 
     3     
     4     // 设置Label的字体 HelveticaNeue  Courier
     5     UIFont *fnt = [UIFont fontWithName:@"HelveticaNeue" size:24.0f];
     6     _nameLabel.font = fnt;
     7     // 根据字体得到NSString的尺寸
     8     CGSize size = [_nameLabel.text sizeWithAttributes:[NSDictionary dictionaryWithObjectsAndKeys:fnt,NSFontAttributeName, nil]];
     9     // 名字的H
    10     CGFloat nameH = size.height;
    11     // 名字的W
    12     CGFloat nameW = size.width;
    13     _nameLabel.frame = CGRectMake(0, 0, nameW,nameH);

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


     1 // 4,根据正文内容多少,动态确定正文content的frame
     2     
     3     // 宽度W
     4     CGFloat contentW = self.bounds.size.width - _content.frame.origin.x - kMargin;
     5     // label的字体 HelveticaNeue  Courier
     6     UIFont *fnt = [UIFont fontWithName:@"HelveticaNeue" size:18.0f];
     7     _content.font = fnt;
     8     _content.numberOfLines = 0;
     9     _content.lineBreakMode = NSLineBreakByWordWrapping;
    10     // iOS7中用以下方法替代过时的iOS6中的sizeWithFont:constrainedToSize:lineBreakMode:方法
    11     CGRect tmpRect = [_content.text boundingRectWithSize:CGSizeMake(contentW, 1000) options:NSStringDrawingUsesLineFragmentOrigin attributes:[NSDictionary dictionaryWithObjectsAndKeys:fnt,NSFontAttributeName, nil] context:nil];
    12     
    13     // 高度H
    14     CGFloat contentH = tmpRect.size.height;
    15     NSLog(@"调整后的显示宽度:%f,显示高度:%f"contentW,contentH);
    16     _content.frame = CGRectMake(0, 0, contentW,contentH);
  • 相关阅读:
    Saltstack cmd.run 多项命令
    salt state.sls windows 传输文件
    mysql 时区更改;5.7 弱口令
    nginx 端口转发
    nohup 后台执行
    检测 nginx 关闭切换keepalived
    Centos 7 安装 dotnet 环境
    unison 双向镜像同步
    samba 配置参数详解
    数据结构与算法面试题80道(15)
  • 原文地址:https://www.cnblogs.com/fshmjl/p/5025285.html
Copyright © 2011-2022 走看看