一. 要求

1.根据网络请求的回来的字符串内容,动态计算Label的高度.

二. 注意点

1. 要注意设置label 的 numberOfLines 为0;

2. MAXFLOAT 的作用. 设置高度无限大.

三.代码

#import "ViewController.h"

@interface ViewController ()

@property (nonatomic,strong) UILabel * label;

@end

@implementation ViewController

- (void)viewDidLoad

{

[super viewDidLoad];

[self createLabel];

}

- (void)createLabel

{

self.label = [[UILabel alloc] init];

self.label.backgroundColor = [UIColor yellowColor];

NSString * str = @"1、毕业后才知道校园恋爱是最纯洁的;\n2、毕业后才知道学习是最重要的;\n3、毕业后才知道校园生活是最幸福的;\n4、毕业后才知道宿舍生活是最好的;\n5、毕业后才知道食堂的饭菜是最便宜的;\n6、毕业后才知道上学是最美妙的事。\n7、毕业后才知道学生花钱最大手大脚......";

self.label.text = str;

self.label.numberOfLines = 0;

[self.view addSubview:self.label];

UIFont * font = self.label.font;

// iOS 7.0 之前的方法.已经被弃用

//    CGSize size = [self.label.text sizeWithFont:font constrainedToSize:CGSizeMake(_label.frame.size.width, MAXFLOAT) lineBreakMode:UILineBreakModeWordWrap];

NSDictionary * dict = @{

NSFontAttributeName : font

};

//计算label的文字宽高

CGSize size = [self.label.text boundingRectWithSize:CGSizeMake(self.view.frame.size.width, MAXFLOAT) options:NSStringDrawingUsesLineFragmentOrigin attributes:dict context:nil].size;

CGFloat nameH = size.height;

CGFloat nameW = size.width;

NSLog(@"w: %f --h: %f",nameW,nameH);

// 设置label的动态frame

self.label.frame = CGRectMake(0, 30, nameW, nameH);

}

@end

 

iOS-动态计算Label的高度的更多相关文章

  1. IOS7中动态计算UILable的高度

    .h文件 #import <UIKit/UIKit.h> @interface UILabel (ContentSize) - (CGSize)contentSize; @end .m文件 ...

  2. iOS 动态计算文本内容的高度

    关于ios 下动态计算文本内容的高度,经过查阅和网上搜素,现在看到的有以下几种方法: 1. //  获取字符串的大小  ios6 - (CGSize)getStringRect_:(NSString* ...

  3. 动态计算Label高度

    //1.设置该label的numberOfLines为0 self.titleLabel.numberOfLines = 0;    //2.字体的设置要与之前相同 NSDictionary * at ...

  4. iOS学习之根据文本内容动态计算文本框高度的步骤

    在视图加载的过程中,是先计算出frame,再根据frame加载视图的,所以在设计计算高度的方法的时候,设计成加号方法; //首先给外界提供计算cell高度的方法 + (CGFloat)heightFo ...

  5. iOS开发总结-UITableView 自定义cell和动态计算cell的高度

    UITableView cell自定义头文件:shopCell.h#import <UIKit/UIKit.h>@interface shopCell : UITableViewCell@ ...

  6. 根据文字动态计算Label高度或宽度

    //根据已知的label宽度计算文字高度 CGRect rect = [reson boundingRectWithSize:CGSizeMake(label_W, 0) options:NSStri ...

  7. iOS实现页面既显示WebView,WebView下显示TableView,动态计算WebView内容高度

    实现效果如下: 忽略底部的评论视图,太丑了,待完善...... 实现思路: 1>页面布局采用TableView实现,顶部"关注"模块的View是TableView的table ...

  8. iOS之动态计算文字的高度

    + (CGSize)boundingALLRectWithSize:(NSString *)txt Font:(UIFont *)font Size:(CGSize)size { NSMutableA ...

  9. Winfrom固定Label宽度,根据文本动态改变Label的高度 z

    Label,要固定住宽度,然后根据文本的长度来动态改变高度,一开始去网上找解决方案,各种根据字体大小啊,字数啊来动态改变,但是效果却不怎么好.最后灵机一动,想起了偶尔用过一次的FlowLayoutPa ...

随机推荐

  1. GCD的同步异步串行并行、NSOperation和NSOperationQueue一级用dispatch_once实现单例

    转:http://www.tuicool.com/articles/NVVnMn (1)GCD实现的同步异步.串行并行. ——同步sync应用场景:用户登录,利用阻塞 ——串行异步应用场景:下载等耗时 ...

  2. Revit中如何将视图过滤器传递到其它项目

    在Revit中采用过滤器控制视图显示,利用过滤器给图元着色,利用过滤器控制视图显示或隐藏等,那么,在不同的项目中是否每次都要设置相同的过滤器,其实,Revit提供了这么一种在不同项目传递信息的方式,在 ...

  3. zz A list of open source C++ libraries

    A list of open source C++ libraries < cpp‎ | links http://en.cppreference.com/w/cpp/links/libs Th ...

  4. AngularJS指令嵌套时link函数执行顺序的问题

    今天研究指令嵌套时,发现子指令的link函数先于父指令的link函数执行. 这样和预想的顺序不一样. 也就是说,如果子指令的某个scope变量依赖于父指令传来的参数时,可能一直是undefinded比 ...

  5. Imagick总结及反思

    2014-08-23 今天安装Imagick出现了很多问题,自己也有些着急,以下为各版本信息: ImageMagick: 安装版本:ImageMagick-6.5.8-Q16 安装目录:E:/PHPS ...

  6. iOS 同一设备内的应用之间资源共享的实现

    我们都知道,iOS为安全考虑,各应用只能使用其自已的应用沙盒内的存储空间,各应用之间是不能互相访问彼此的沙盒空间的. 另外,iOS设备都没有外置存储卡,这样,象 Android 设备间共同访问外置存储 ...

  7. 阿里云 通过YUM源安装nginx

    阿里云centOS-6.3-64位通过YUM源安装nginx 第一步:在 /etc/yum.repos.d/ 目录下,建立名叫nginx.repo的软件源配置文件.   文件 nginx.repo 的 ...

  8. Codeforces Round #384 (Div. 2)D - Chloe and pleasant prizes 树形dp

    D - Chloe and pleasant prizes 链接 http://codeforces.com/contest/743/problem/D 题面 Generous sponsors of ...

  9. AtomicInteger简介

    这个类真的非常实用,更重要的是 它确实非常简单: 附上自己的代码,可以自己试试: AtomicInteger,一个提供原子操作的Integer的类.在Java语言中,++i和i++操作并不是线程安全的 ...

  10. .NET分布式事务--TransactionScop

    一.开启DTC服务 方式一 计算机—管理—服务—Distributed Transaction Coordinator—属性—开启 方式二 CMD命令子界面输入:net start msdtc 二.设 ...