CoreText的使用方法】的更多相关文章

- (void)draw { CGContextRef context = UIGraphicsGetCurrentContext(); NSMutableAttributedString *attrString = [[[NSMutableAttributedString alloc] initWithString:self.text] autorelease]; [attrString addAttribute:(NSString *)(kCTForegroundColorAttribute…
http://ios-iphone.diandian.com/post/2012-03-29/18389515 - (int)getAttributedStringHeightWithString:(NSAttributedString *)  string  WidthValue:(int) width{   int total_height = 0;      CTFramesetterRef framesetter = CTFramesetterCreateWithAttributedSt…
- (int)getAttributedStringHeightWithString:(NSAttributedString *) string WidthValue:(int) width { ; CTFramesetterRef framesetter = CTFramesetterCreateWithAttributedString((CFAttributedStringRef)string); //string 为要计算高度的NSAttributedString CGRect drawi…
CoreText的介绍 Core Text 是基于 iOS 3.2+ 和 OSX 10.5+ 的一种能够对文本格式和文本布局进行精细控制的文本引擎.它良好的结合了 UIKit 和 Core Graphics/Quartz: UIKit 的 UILabel 允许你通过在xIB 中简单的拖曳添加文本,但你不能改变文本的颜色和其中的单词. Core Graphics/Quartz几乎允许你做任何系统允许的事情,但你需要为每个字形计算位置,并画在屏幕上. Core Text 正结合了这两者!你可以完全控…
iOS 7 的发布给开发者的案头带来了很多新工具.其中一个就是 TextKit.TextKit 由许多新的 UIKit 类组成,顾名思义,这些类就是用来处理文本的.在这里,我们将介绍 TextKit 的来由.它的组成,以及通过几个例子解释开发者怎样将它派上大用场. 但是首先我们得先阐明一个观点:TextKit 可能是近期对 UIKit 最重要的补充了.iOS 7 的新界面用纯文本按钮替换了大量的图标和边框.总的来说,文本和文本布局在新 OS 系统的视觉效果中所占有的重要性大大提高了.iOS7 的…
1获取系统语言设置 NSUserDefaults *userDefault = [NSUserDefaults standardUserDefaults]; NSArray *languages = [userDefault objectForKey:@"AppleLanguages"]; NSString *preferredLang = [languages objectAtIndex:]; 缓存路径下文件大小 - (unsigned long long int) cacheFol…
1获取系统语言设置 NSUserDefaults *userDefault = [NSUserDefaults standardUserDefaults]; NSArray *languages = [userDefault objectForKey:@"AppleLanguages"]; NSString *preferredLang = [languages objectAtIndex:0]; 2 缓存路径下文件大小 - (unsigned long long int) cache…
本文转载至 http://blog.cnbang.net/tech/2729/ 上一篇介绍了DTCoreText怎样把HTML+CSS解析转换成NSAttributeString,本篇接着看看怎样把NSAttributeString渲染出来. CoreText 先简单介绍下CoreText,CoreText是iOS/OSX里的文字渲染引擎,在iOS/OSX上看到的所有文字在底层都是由CoreText去渲染. CoreText会把一行里连在一起相同属性的文字合在一起作为一个CTRun,每一行是一个…
OS 7:终于来了,TextKit.   功能   所以咱们到了.iOS7 带着 TextKit 登陆了.咱们看看它可以做什么!深入之前,我还想提一下,严格来说,这些事情中的大部分以前都可以做.如果你有大量的资源和时间来用CoreText构建一个文本引擎,这些都是可以做的.但是如果以前你想构建一个完善的富文本编辑器,你得花费几个月的时间.现在就非常简单,你只需要到在Xcode里打开一个界面文件,然后将UITextView拖到你的试图控制器,就可以获得所有的功能:   字距调整(Kerning):…
本文由 伯乐在线 - 和谐老约翰 翻译自 Max Seelemann.欢迎加入技术翻译小组.转载请参见文章末尾处的要求. iOS7 的发布给开发者的案头带来了很多新工具.其中一个就是 TextKit(文本工具箱).TextKit 由许多新的 UIKit 类组成,顾名思义,这些类就是用来处理文本的.在这里,我们将介绍 TextKit 的来由.它的组成,以及通过几个例子解释开发者怎样将它派上大用场. 但是首先我们得有一点背景知识:TextKit 可能是近期对 UIKit 最重要的补充了.iOS7 的…
JAVA学习总结    2 第一天    2 1:计算机概述(了解)    2 (1)计算机    2 (2)计算机硬件    2 (3)计算机软件    2 (4)软件开发(理解)    2 (5)语言    2 (6)人机交换    2 2:键盘功能键的认识和快捷键(掌握)    2 (1)功能键的认识    2 (2)快捷键    3 3:常见的DOS命令(掌握)    3 (1)常见的如下    3 (2)其他的几个(了解)    3 4:Java语言概述(了解)    4 (1)Jav…
关于富文本的排版也是现在的一个技术点,以下是近日关于CoreText的学习记录以及个人理解,希望能对正在学习CoreText的朋友起到帮助. 1.框架坐标系 首先让我们先来看看CoreText坐标系和UIKit坐标系的不同 从图中可看出CoreText坐标系是以左下角为坐标原点,而我们常使用的UIKit是以左上角为坐标原点,因此在CoreText中的布局完成后需要对其坐标系进行转换,否则直接绘制出现位置反转的镜像情况.在通常情况下我们一般做法是直接获取当前上下文.并将当前上下文的坐标系转换为Co…
常见的在一些微博微信中可以看见一段文字中有不同的字体,字体有不同的颜色,并且可能会有一些笑脸之类的表情,这些可以通过图文混排做到. 图文混排可以通过WebView和CoreText做到,其他还有别的方法暂不去讲,我也还没学到. WebView相对简单,直接将链接load过来就可以了,但对设备要求较高. CoreText相对底层,也就相对高效,也就相对复杂. 举个简单的例子: 例如设置一个UILab,要求其中显示“hello world”: UILabel *label = [[UILabel a…
一.CoreText的简介 CoreText是用于处理文字和字体的底层技术.它直接和Core Graphics(又被称为Quartz)打交道.Quartz是一个2D图形渲染引擎,能够处理OSX和iOS中图形显示问题.Quartz能够直接处理字体(font)和字形(glyphs),将文字渲染到界面上,它是基础库中唯一能够处理字形的模块.因此CoreText为了排版,需要将显示的文字内容.位置.字体.字形直接传递给Quartz.与其他UI组件相比,由于CoreText直接和Quartz来交互,所以它…
CoreText是iOS3.2推出的一套文字排版和渲染框架,可以实现图文混排,富文本显示等效果. CoreText中的几个重要的概念:  CTFont CTFontCollection CTFontDescriptor CTFrame CTFramesetter CTGlyphInfo CTLine CTParagraphStyle CTRun CTTextTab CTTypesetter 先来了解一下该框架的整体视窗组合图: CTFrame 作为一个整体的画布(Canvas),其中由行(CTL…
iOS没有现成的支持图文混排的控件,而要用多个基础控件组合拼成图文混排这样复杂的排版,是件很苦逼的事情.对此的解决方案有使用CoreText进行绘制,或者使用TextKit.本文主要讲解对于CoreText的使用. 案例下载地址 https://github.com/ClavisJ/CoreTextDemo 环境信息: Mac OS X 10.10.1 Xcode 6.1.1 iOS 8.1 正文: 一.Core Text简介 CoreText是基于IOS3.2及OSX10.5的用于文字精细排版…
前言:之前做了公司阅读类的App,最近有时间来写一下阅读部分的实现过程,供梳理逻辑,计划会写一个系列希望能涉及到尽量多的方面与细节,欢迎大家交流.吐槽.拍砖,共同进步. 阅读的排版用的是coretext,这篇介绍用coretext实现基本的排版功能. 关于coretext的实现原理,可以查看文档或其他资料,这里就不介绍了,只介绍如何应用coretext来实现一个简单的文本排版功能. 因为coretext是离屏排版的,即在将内容渲染到屏幕之前,内容的排版工作的已经完成了. 排版过程大致过程分为 步…
coreText的demo下载地址:http://download.csdn.net/detail/shaoting19910730/9254143 NSTextView和Attribued String 第一次接触苹果系的富文本编程是在写Mac平台上的一个输入框的时候,输入框中的文字可以设置各种样式,并可以在文字中间插入图片,好在Mac的AppKit中提供了NSTextView这个支持富文本编辑器控件.此控件背后是通过什么方式来描述富文本的呢?答案是NSAttributedString,很多编…
[iOS开发] CoreText 使用教程:以创建一个简单的杂志应用为例抢沙发 分类:iPhone开发 标签:CoreText.iOS.iOS开发.iOS开发教程.杂志应用 BBS.CHINAAPP.ORG到ChinaApp与同行碰面,高质量APP运营交流社区ChinaApp( bbs.chinaapp.org)! Core Text 是基于 iOS 3.2+ 和 OSX 10.5+ 的一种能够对文本格式和文本布局进行精细控制的文本引擎.它良好的结合了 UIKit 和 Core Graphics…
实现了一个富文本视图控件.主要针对表情图片,文本字符,URL,等这种类型的文本进行显示. 源码地址 https://github.com/TinyQ/TQRichTextView 实现的效果如下图. 控件展示完毕 --------------------------------------------------------------------------------------------------- 这里先介绍下我写这个控件的项目目录结构和功能.从下面这个目录结构截图说起. 1.Emo…
CoreText实现图文混排之点击事件 主要思路 我们知道,CoreText是基于UIView去绘制的,那么既然有UIView,就有 -(void)touchesBegan:(NSSet<UITouch *> )touches withEvent:(UIEvent )event方法,我们呢,就是基于这个方法去做点击事件的. 通过touchBegan方法拿到当前点击到的点,然后通过坐标判断这个点是否在某段文字上,如果在则触发对应事件. 上面呢就是主要思路.接下来呢,我们来详细讲解一下.还是老规矩…
一.基本知识介绍 1.字符(Character)和字形(Glyphs) 排版系统中文本显示的一个重要的过程就是字符到字形的转换,字符是信息本身的元素,而字形是字符的图形表征,字符还会有其它表征比如发音. 字符在计算机中其实就是一个编码,某个字符集中的编码,比如Unicode字符集,就囊括了大都数存在的字符. 而字形则是图形,一般都存储在字体文件中,字形也有它的编码,也就是它在字体中的索引. 一个字符可以对应多个字形(不同的字体,或者同种字体的不同样式:粗体斜体等):多个字符也可能对应一个字形,比…
文本绘制在开发客户端程序中是一个比较常用的功能,可分为采用控件和直接绘制两种方式. 采用控件的方式比较简便,添加一个比如UILabel对象,然后设置相关属性就好了.但这种方式局限性也比较大. 直接绘制相对比较自由,但也分为使用NSString和Quartz 2D两种方式. NSString有一组绘制文本的函数,drawAtPoint是其中一个.使用方式如下: 1 NSString* text = @"This is English text(NSString)."; 2 [text d…
CoreText 实现图文混排 相关博文推荐 IOS CoreText.framework - 基本用法 IOS CoreText.framework - 段落样子CTParagraphStyle http://blog.csdn.net/fengsh998/article/details/8701738 IOS CoreText.framework - 图文混排 demo下载 本文所涉及的代码你可以在这里下载到 https://github.com/kejinlu/CTTest,包含两个项目,…
借用别人封装好的类库,用来显示同一个UILable上的多种颜色的字. 类库可以直接在次博客中下载,下载后别忘留言哦. 类库使用:主要用了CoreText里面的东西,所以在使用类库之前需要引用CoreText这个系统框架. 注意,此封装的类库不支持ARC 类库设置好后,开始进行使用此类库里面的方法: // Do any additional setup after loading the view, typically from a nib. /* 注,此处的color对应的值必须是系统预定义好的…
今天呢,我们继续把CoreText图文混排的点击事件补充上,这样我们的图文混排也算是圆满了. 哦,上一篇的链接在这里 http://www.jianshu.com/p/6db3289fb05d CoreText实现图文混排.所有需要用到的准备知识都在上一篇,没有赶上车的朋友可以去补个票~ 上正文. CoreText做图文混排之点击事件 主要思路 我们知道,CoreText是基于UIView去绘制的,那么既然有UIView,就有 -(void)touchesBegan:(NSSet)touches…
最近要做一个读入Word,PDF格式等的文件并且加以编辑的程序,本来以为使用Text Kit结合Text View来打开doc文件是完全没问题的,结果用了各种方法打开要么是数据是nil,要么打开的文字中很多乱码.对于Word,PDF这种格式或许必须要用底层的Core Text来做了(如果用WebView来做的话,很难对内容进行操作). 所以接下来又要从Core Text从头学起了.首先看了Core Text Programming Guide,理解的并不算深入,但是写个博客来做个笔记吧. Cor…
在很多新闻类或有文字展示的应用中现在都会出现图文混排的界面例如网易新闻等,乍一看去相似一个网页,其实这样效果并非由UIWebView 加载网页实现.现在分享一种比较简单的实现方式 iOS sdk中为我们提供了一套完善的文字排版开发组件:CoreText.CoreText库中提供了很多的工具来对文本进行操作,例如CTFont.CTLine.CTFrame等.利用这些工具可以对文字字体每一行每一段落进行操作. 此例中默认图片都在右上方,且为了美观和开发简便设定所占宽度都相同. 1.        …
文章转载自 http://www.cocoachina.com/applenews/devnews/2014/0521/8504.html iOS文字排版(CoreText)那些事儿 转自阿毛的蛋疼地 第一次比较深入接触iOS文字排版相关内容是在12年底,实现某IM项目聊天内容的图文混排,照着nimbus的AttributedLabel和Raywenderlish上的这篇文章<Core Text Tutorial for iOS: Making a Magazine App>改出了一个比较适用…
系列文章: CoreText实现图文混排:http://www.jianshu.com/p/6db3289fb05d CoreText实现图文混排之点击事件:http://www.jianshu.com/p/51c47329203e CoreText实现图文混排之文字环绕及点击算法:http://www.jianshu.com/p/e154047b0f98 终于我来完成我CoreText图文混排的最后一章了. 先说一下我为什么会来补发这一章呢? 1.老司机最开始没有留demo,以至于这个博客老司…