zoukankan      html  css  js  c++  java
  • iOS UILabel自适应

    根据文字 字数动态确定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]];
    //名字的高度
    CGFloat nameH = size.height;
    //名字的宽度
    CGFloat nameW = size.width;
    //重新给Label的frame赋值 _nameLabel.frame
    = CGRectMake(0, 0, nameW,nameH);
    根据正文内容多少,动态确定正文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(0, 0, contentW,contentH);
    
    
  • 相关阅读:
    【BJOI2018】求和
    【洛谷P1613】跑路
    【NOI2001】食物链
    【NOI2002】银河英雄传说
    【POJ1456】Supermarket
    【NOIP2013】货车运输
    【CH#56C】异象石
    【POJ3417】Network
    【APIO2010】巡逻
    【CH6201】走廊泼水节
  • 原文地址:https://www.cnblogs.com/MrFeng/p/4893864.html
Copyright © 2011-2022 走看看