文档章节

[10秒学会] - iOS NSAttributedString 首行缩进

赵大财
 赵大财
发布于 2016/05/13 15:38
字数 291
阅读 128
收藏 0
点赞 2
评论 0

应用场景图片:


场景1      场景2   很多时候....


 


这里分3种做法:
1: http://my.oschina.net/zhaodacai/blog/652066
iOS UILabel显示网络图片 NSMutableAttributedString使用网络图片 可以参考的我另一篇文章

优点是 1个控件搞定 有兴趣自己看

2:今天提供简单方式首行缩进  因为刚刚我遇到了个坑  就是超出的没有 "..." NSLineBreakByTruncatingTail  失效

3:第三种可牛逼了 前方高能警告    
番外篇//突然想到  激动的心 颤抖的手(十八哥 伟大的诗人 伟大的农场主 我心里最优秀的php教育机构 感谢十八哥)
  self.labelTitle.text = [NSString stringWithFormat:@"%@%@",@"      ",homeListContentModel.name]; //脑补一下吧  屌不屌  牛不牛 大天窗有木有

好吧直接上代码 很简单   //放在你的NSMutableAttributedString +category里面吧

 

+ (NSAttributedString *)lineHeadIndent:(CGFloat )indent lineSpacing:(CGFloat)lineSpacing string:(NSString *)str {
    NSMutableAttributedString *attributedString = [[ NSMutableAttributedString alloc ] initWithString :str];
    NSMutableParagraphStyle *paragraphStyle = [[ NSMutableParagraphStyle alloc ] init ];
    paragraphStyle. alignment = NSTextAlignmentLeft ;
    paragraphStyle.lineBreakMode = NSLineBreakByTruncatingTail; //这个就是个坑 我找了半天 -_-!!!
    //paragraphStyle. maximumLineHeight = 60 ;  //最大的行高
    paragraphStyle.lineSpacing = lineSpacing ;  //行自定义行高度
    [paragraphStyle setFirstLineHeadIndent : indent ];
    [attributedString addAttribute : NSParagraphStyleAttributeName value :paragraphStyle range : NSMakeRange ( 0 ,str.length)];
    return attributedString;
}

 

© 著作权归作者所有

共有 人打赏支持
赵大财
粉丝 21
博文 161
码字总数 38672
作品 0
长沙
那些在学习iOS开发前就应该知道的事(part 1)

英文原文:Things I wish I had known before starting iOS development—Part 1 设计师设计出来了一个不错的引导界面,然而当我看到设计稿的时候,我们的app也没几天就要上线了。这个界面模...

TomatosX
2015/06/12
0
0
【IOS视频教学】三个月学会IOS开发

一、windows系统下安装虚拟机-mac系统-视频教程-安装件全套下载:http://www.wyzc.com/forum/56212.html 二、史上最佳0基础Swift语言视频教程下载链接:http://www.wyzc.com/forum/56744.htm...

马洪伟
2014/12/25
0
0
[iOS Animation]-CALayer 专用图层 富文本

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

浩浩老师
2015/09/23
0
0
开发微信H5视频秀项目遇到的坑

介绍 手头上正好有个项目,需要做一个微信端H5视频秀的一个项目,想想好像挺简单的,由两个视频组成,播放完第一个视频后点击按钮继而播放第二个视频。好了,结果微信的坑TM的多 问题排查 自...

🚲Allen
05/18
0
0
iOS实现本地通知(local notification)的简单示例

本地通知,local notification,用于基于时间行为的通知,比如有关日历或者todo列表的小应用。另外,应用如果在后台执行,iOS允许它在受限的时间内运行,它也会发现本地通知有用。比如,一个...

木木情深
2014/02/27
0
0
CoreText 实现图文混排

NSTextView和Attribued String 第一次接触苹果系的富文本编程是在写Mac平台上的一个输入框的时候,输入框中的文字可以设置各种样式,并可以在文字中间插入图片,好在Mac的AppKit中提供了NST...

Megan_zhou
2014/05/26
0
0
c++ cout格式化输出函数详解

这篇文章主要讲解如何在C++中使用cout进行高级的格式化输出操作,包括数字的各种计数法(精度)输出,左或右对齐,大小写等等。通过本文,您可以完全脱离scanf/printf,仅使用cout来完成一切...

lieefu
2015/10/30
0
0
iOS三维菜单、调试工具、封装通讯录、网络框架、多种控件和动画等源码

iOS精选源码 一个调用系统通讯录和获取通讯录所有联系人的封装(http://www.code4app.com/thread-29726-1-1.html) ios scrollview嵌套tableview同向滑动(初级、进阶), 支持OC / Swift(http...

sunnyaigd
05/15
0
0
如何通过 Common Lisp 调用 iOS simulator 并交互?== 未解决

之前根据 CCL 的教程学会了如何在 Common Lisp 中调用 Cocoa 框架,编写 MAC 应用程序。 最近在考虑如何通过 Common Lisp 调用 Cocoa Touch 框架,开发 iOS 程序(iPhone/iPad),首先需要解...

FreeBlues
2014/06/23
0
0
人工智能要成精了?英伟达展示逆天修图技术

人工智能要成精了?英伟达展示逆天修图技术 2018-04-25 12:03编辑: 枣泥布丁分类:AI来源:青亭网 英伟达人工智能PS 招聘信息: C++工程师 Cocos2d-x游戏客户端开发 iOS开发工程师 京东招聘...

枣泥布丁
04/25
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

TensorFlow 线性分类

构造直线 z = 2 * x - 3 * y + 4 x0*w0+x1*w1+b=0 x1=-x0* w0/w1-b/w1 斜率 k= -w0/w1 截距 -b/w1 随机生成数据,加入一定的偏差,用直线将二维平面分为两部分 使用线性模型拟合参数 损失函数...

阿豪boy
9分钟前
0
0
翻译冒泡排序测试

翻译一个冒泡排序: var a = [1,3,2,4,6,5];var f = 0;var n = a.length ;for( var i =1; i<= n; i++) { for( var j = n-1 ; j >= i; j --) { if(a[j] < a[j+1]) { ......

钟元OSS
11分钟前
0
0
maven父、子级版本号同时修改

命令: mvn versions:set -DnewVersion=0.0.2-SNAPSHOT

沉默的懒猫
12分钟前
0
0
Spring boot中的异常处理之注解响应

Controller层 return patientRepository.findById(id) .orElseThrow(() -> new NotFoundException(String.format("Patient %d not found", id))); Exception类 @ResponseS......

亚林瓜子
13分钟前
0
0
webpack文档翻译_001

概念 webpack是一个为现代JavaScript应用的打包工具(a static module bundler)。 当webpack处理应用时,在其内部,会生成一个依赖图(dependency graph),这个依赖图可以映射到项目里的每一个...

DennisHill
14分钟前
5
0
vim 行首/行尾 批量操作

批量插入 行首插入 :%s/^/your_word/ 行尾插入:%s/$/your_word/ 按键操作 注释:ctrl+v 进入列编辑模式,向下或向上移动光标,把需要注释的行的开头标记起来,然后按大写的I(shift + i),再插入...

温子寒
14分钟前
0
0
Java语言学习(十二):多线程

Java中给多线程编程提供了内置的支持,多线程是多任务的一种特别形式,它使用了更小的资源开销。这里需要知道两个术语及其关系:进程和线程。 进程:进程是系统进行资源分配和调度的一个独立...

海岸线的曙光
20分钟前
0
0
mysql源码阅读相关文章

https://www.jianshu.com/p/e739afb8fe31

writeademo
34分钟前
0
0
CentOS7 安装MySQL8

1. 从官网拿到本地YUM源的安装包,并安装本地YUM源 2. 通过`yum install -y`命令进行MySQL的安装 3. 启动服务,并配置开机自启 4. 获取初始化密码,登录MySQL 5. 修改密码策略,然后自行设置roo...

小致dad
39分钟前
0
0
史上最简单的 IntelliJ IDEA 教程

我不是作者,我只是内容的搬运工。 传送门

颖辉小居
42分钟前
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部