项目开发纪实-UILable自动换行

项目中今天用到了自动换行 ,突然发现自己好想忘记了什么了。哦,Label的自动换行,因为自己记录的笔记太多了。找了好久没找到,所以今天在这里记录一下。
其实这里我有几个问题,有读到兄弟可以给我留言解答一下。为什么要给进入上下文的时候要设置一个非常大的高度,难道是为了计算时的高度过高导致溢出?
下面给出代码:

_label = [[UILabel alloc] initWithFrame:CGRectMake(0, 0, 400, 45)];
    _label.text = @"轩辕姓,为汉字复姓,在《百家姓》中排名第431位。轩辕这一姓来源相当古老,最早来自于黄帝,因黄帝居于轩辕之丘,后代一部分子孙便以轩辕为姓氏,称“轩辕氏”。这个姓氏目前仍有使用。";
    self.label.textColor = [UIColor redColor];
    self.label.numberOfLines = 0;
    UIFont *font = [UIFont systemFontOfSize:17];
    self.label.font = font;
    CGSize size = CGSizeMake(400, 1000);
    CGRect rect = [self.label.text boundingRectWithSize:size options:NSStringDrawingUsesLineFragmentOrigin attributes:[NSDictionary dictionaryWithObjectsAndKeys:font, NSFontAttributeName, nil] context:nil];
    NSLog(@"x is %f, y is %f", rect.origin.x, rect.origin.y);
    NSLog(@"width is %f, height is %f", rect.size.width, rect.size.height);
    self.label.frame = rect;
    self.label.center = self.view.center;
    [self.view addSubview:self.label];

通过笔者一番深夜研究,通过对字体大小的调整,原来行高时根据自己大小计算的,我个人表示这事什么设计哲学啊。然后就是迷之行间距,这个留给大家去研究吧。都这么晚了。笔者要睡觉了。晚安各位。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 175,734评论 25 709
  • 发现 关注 消息 iOS 第三方库、插件、知名博客总结 作者大灰狼的小绵羊哥哥关注 2017.06.26 09:4...
    肇东周阅读 14,230评论 4 61
  • 一段感情结束之后,最大的痛苦就来源于习惯。习惯了Ta的存在,习惯了有Ta的生活。在一起时并不觉得有多大的变化,但分...
    岚风的叶子阅读 981评论 0 0
  • 20170201早安!今日分享:冥想是一种古老的自我修炼方法,从科学的实用角度看,它是一种思维体操;这种训练能让你...
    周洋_图乐园阅读 3,064评论 0 3
  • 亲爱的~ 谢谢你包容我所有的坏脾气。 谢谢你陪我度过最艰难得时光。 谢谢你给了我那么多甜蜜的日子。 谢谢你那么无谓...
    jojo2017阅读 1,280评论 0 0