文档章节

iOS-- UILabel自适应高度和显示不同的字体

指尖流年
 指尖流年
发布于 2017/04/28 10:13
字数 648
阅读 19
收藏 0

自适应高度 在cell中自适应 分为2步

1(cellForRowAtIndexPath)

cell.title.text = @"传说太多,也太粗糙:说你只不过是曾经花城的孤单女子,因不慎而溺于爱的歧流断脉之中,说你的失足只是一种意外。说有人见你午夜低徊于水陆的边缘,羞怯的向陌生的行人诉说你破碎的心肠,说你千里迢迢要来赴那人的盟约,然而千里迢迢怎是你所能跋涉?日夜的次序又怎能容你轻易嵌入?你已不属于时间空间,你因而被镇于湖心水湄,再不敢向人间,向你钟爱的人间殷殷探询。你于是成了一只冷僵了的蝴蝶标本,在图鉴上注明因求偶不成而自戕,被传阅于唇齿残香的茶余饭后";

cell.title.tag = 356;

CGSize contentTitleSize = [cell.title.text boundingRectWithSize:CGSizeMake(KSCREEN_WIDTH-53, MAXFLOAT) options:NSStringDrawingUsesLineFragmentOrigin attributes:@{NSFontAttributeName:[UIFont systemFontOfSize:11]} context:nil].size;
        cell.title.frame = CGRectMake(cell.title.frame.origin.x, cell.title.frame.origin.y, cell.title.frame.size.width, contentTitleSize.height);

2 设置行高(heightForRowAtIndexPath)

 UILabel *label = (UILabel *)[self.view viewWithTag:356];
        label.text = @"传说太多,也太粗糙:说你只不过是曾经花城的孤单女子,因不慎而溺于爱的歧流断脉之中,说你的失足只是一种意外。说有人见你午夜低徊于水陆的边缘,羞怯的向陌生的行人诉说你破碎的心肠,说你千里迢迢要来赴那人的盟约,然而千里迢迢怎是你所能跋涉?日夜的次序又怎能容你轻易嵌入?你已不属于时间空间,你因而被镇于湖心水湄,再不敢向人间,向你钟爱的人间殷殷探询。你于是成了一只冷僵了的蝴蝶标本,在图鉴上注明因求偶不成而自戕,被传阅于唇齿残香的茶余饭后";
        
        CGSize contentSize = [label.text boundingRectWithSize:CGSizeMake(KSCREEN_WIDTH-75, MAXFLOAT) options:NSStringDrawingUsesLineFragmentOrigin attributes:@{NSFontAttributeName:[UIFont systemFontOfSize:10]} context:nil].size;
        label.frame = CGRectMake(label.frame.origin.x, label.frame.origin.y, label.frame.size.width, contentSize.height);

    return contentSize.height

 

Label显示不同的字体颜色

 

    _name1 = @"落得满地荒凉:";
    _content1 = @"终究,我还是负了他。或许在外人眼中,我只是一个贪慕虚荣的女人,可是终究,我也只是希望你可以安心的去取得这天下。";

commentCell.name1.text = [NSString stringWithFormat:@"%@%@",_name1,_content1];
            
    //人名 为蓝色 内容为红色
            NSMutableAttributedString *nameMessageStr = [[NSMutableAttributedString alloc] initWithString:commentCell.name1.text];

//字体颜色
            
            [nameMessageStr addAttribute:NSForegroundColorAttributeName value:UIColorFromRGB(0x396DAC) range:NSMakeRange(0, _name1.length)];

 

[nameMessageStr addAttribute:NSForegroundColorAttributeName value:UIColorFromRGB(0xff0101) range:NSMakeRange(_name1.length, _content1.length)];
  // 字体大小(终究)

[nameMessageStr addAttribute:NSFontAttributeName value:[UIFont systemFontOfSize:10] range:NSMakeRange(_name1.length, 2)];         
 commentCell.name1.attributedText = nameMessageStr;

 

按钮显示不同的字体

  [explainBtn setAttributedTitle:nameMessageStr forState:UIControlStateNormal];

 

 

 

 

© 著作权归作者所有

共有 人打赏支持
指尖流年
粉丝 11
博文 62
码字总数 33037
作品 0
海淀
iOS工程师
私信 提问
[iOS Animation]-CALayer 专用图层 富文本

富文本 iOS 6中,Apple给UILabel和其他UIKit文本视图添加了直接的属性化字符串的支持,应该说这是一个很方便的特性。不过事实上从iOS3.2开始CATextLayer就已经支持属性化字符串了。这样的话,...

浩浩老师
2015/09/23
0
0
用视图上移解决UITextField/UITextView被键盘遮盖问题

先看看UILabel/UITextField/UITextView的区别: UILabel 显示的文本只读,无法编辑,可以根据文字个数自动换行; UITextField 可编辑本文,但是无法换行,只能在一行显示;当点击键盘上的ret...

yoyoso
2015/03/18
0
0
实现 iOS 上的井字游戏

下载 demo - 70.1 KB 简介 本文介绍如何用 MVC 模式在 iOS 上实现双人对战的井字游戏. 读者最好有一些 iOS 编程基础, 以便更好的理解本文的代码. 希望这篇文章对提高读者的 iOS 和 MVC 编程水...

oschina
2014/11/09
2.5K
4
iOS 在UILabel显示不同的字体和颜色

在项目开发中,我们经常会遇到在这样一种情形:在一个UILabel 使用不同的颜色或不同的字体来体现字符串,在iOS 6 以后我们可以很轻松的实现这一点,官方的API 为我们提供了UILabel类的attri...

Grozy
2014/03/02
0
0
[iOS Animation]-CALayer 专用图层 CATextLayer

CATextLayer 用户界面是无法从一个单独的图片里面构建的。一个设计良好的图标能够很好地表现一个按钮或控件的意图,不过你迟早都要需要一个不错的老式风格的文本标签。 如果你想在一个图层里...

浩浩老师
2015/09/23
0
0

没有更多内容

加载失败,请刷新页面

加载更多

百度黄埔学院将培养一批首席AI架构师,为“国之重器”赋能

深度学习高端人才不仅是AI发展的重要养分,也是企业转型AI巨大推动力。2019年1月19日,百度黄埔学院——深度学习架构师培养计划在百度科技园举行开学典礼,深度学习技术及应用国家工程实验室...

深度学习之桨
30分钟前
2
0
扒站wget仿站

wget -c -r -p -np -k http://xxx.com/xxx 其中: -c, --continue (断点续传) 接着下载没下载完的文件 -r, --recursive(递归) specify recursive download.(指定递归下载) -p, --page...

临江仙卜算子
32分钟前
2
0
Nextjs+React非页面组件SSR渲染

@随风溜达的向日葵 Nextjs Nextjs是React生态中非常受欢迎的SSR(server side render——服务端渲染)框架,只需要几个步骤就可以搭建一个支持SSR的工程(_Nextjs_的快速搭建见Next.js入门)...

随风溜达的向日葵
今天
0
0
如何在 Linux 系统查询机器最近重启时间

在你的 Linux 或类 UNIX 系统中,你是如何查询系统上次重新启动的日期和时间?怎样显示系统关机的日期和时间? last 命令不仅可以按照时间从近到远的顺序列出该会话的特定用户、终端和主机名...

来来来来来
今天
3
0
Redis协议是什么样的

前言 我们用过很多redis的客户端,有没有相过自己撸一个redis客户端? 其实很简单,基于socket,监听6379端口,解析数据就可以了。 redis协议 解析数据的过程主要依赖于redis的协议了。 我们...

春哥大魔王的博客
今天
10
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部