使用TextKit】的更多相关文章

使用TextKit TextKit是在iOS7中新出的,实现了对CoreText的封装,使用起来更加方便. 虽然是新出的,但也不代表立马就能上手-_-!!,TextKit可以实现图文混排效果,很好用. 1. 使用TextKit加载基本的文本 - (void)viewDidLoad { [super viewDidLoad]; // 装载内容的容器 NSTextStorage *storage = [NSTextStorage new]; [storage replaceCharactersInR…
别人写的一个基于textkit的封装: https://github.com/molon/MLLabel 基于textkit实现的支持富文本的label, 可实现自定义emoji表情等…
iOS 7 的发布给开发者的案头带来了很多新工具.其中一个就是 TextKit.TextKit 由许多新的 UIKit 类组成,顾名思义,这些类就是用来处理文本的.在这里,我们将介绍 TextKit 的来由.它的组成,以及通过几个例子解释开发者怎样将它派上大用场. 但是首先我们得先阐明一个观点:TextKit 可能是近期对 UIKit 最重要的补充了.iOS 7 的新界面用纯文本按钮替换了大量的图标和边框.总的来说,文本和文本布局在新 OS 系统的视觉效果中所占有的重要性大大提高了.iOS7 的…
1 使用UIDynamicAnimator对集合视图进行布局 1.1 问题 UIKit Dynamic动力模型一个非常有趣的用途就是影响集合视图的布局,可以给集合视图的布局添加各种动力行为,使其产生丰富多彩的效果,本案例使用UIDynamicAnimator对集合视图进行布局,实现一个弹性列表,如图-1所示: 图-1 1.2 方案 首先创建一个SingleViewApplication项目,给UIColor类创建一个分类UIColor+RandomColor,提供一个产生随机颜色的静态方法ran…
TextKit简介 在iOS7之前我们要实现图文混排要使用CoreText,iOS6时有了Attribute string 可以解决一些简单的富文本需求.直到iOS7 苹果推出了TextKit,TextKit是基于CoreText的并且做了面向对象的封装,这也决定了TextKit的易用性. NSAttributeString示例 let label = UILabel(frame: CGRectMake(0, 20, view.bounds.size.width, 100)) let label…
Textkit是iOS7新推出的类库,其实是在之前推出的CoreText上的封装,有了这个TextKit,以后不用再拿着CoreText来做累活 了,根据苹果的说法,他们开发了两年多才完成,而且他们在开发时候也将表情混排作为一个使用案例进行研究,所以要实现表情混排将会非常容易.     TextKit并没有新增的类,他是在原有的文本显示控件上的封装,可以使用平时我们最喜欢使用的 UILabel,UITextField,UITextView里面就可以使用了.          1.NSAtrrib…
TextKit简单示例 效果 源码 https://github.com/YouXianMing/Animations // // TextKitLoadImageController.m // Animations // // Created by YouXianMing on 16/4/10. // Copyright © 2016年 YouXianMing. All rights reserved. // #import "TextKitLoadImageController.h"…
测试TextKit渲染大文本的效率 TextKit可以用来做精美的电子书,而电子书通常都是txt格式的,那么渲染txt格式的文本的效率如何呢? 以下来进行测试. #import "RootViewController.h" #import "FontPool.h" #import "YXGCD.h" @interface RootViewController ()<NSLayoutManagerDelegate> @end @impl…
OS 7:终于来了,TextKit.   功能   所以咱们到了.iOS7 带着 TextKit 登陆了.咱们看看它可以做什么!深入之前,我还想提一下,严格来说,这些事情中的大部分以前都可以做.如果你有大量的资源和时间来用CoreText构建一个文本引擎,这些都是可以做的.但是如果以前你想构建一个完善的富文本编辑器,你得花费几个月的时间.现在就非常简单,你只需要到在Xcode里打开一个界面文件,然后将UITextView拖到你的试图控制器,就可以获得所有的功能:   字距调整(Kerning):…
  Textkit是iOS7新推出的类库,其实是在之前推出的CoreText上的封装,有了这个TextKit,以后不用再拿着CoreText来做累活了,根据苹果的说法,他们开发了两年多才完成,而且他们在开发时候也将表情混排作为一个使用案例进行研究,所以要实现表情混排将会非常容易.     TextKit并没有新增的类,他是在原有的文本显示控件上的封装,可以使用平时我们最喜欢使用的UILabel,UITextField,UITextView里面就可以使用了.          1.NSAtrrib…
去年基于5.0开发的时候.自己用coreText编写了一个富文本,全部的效果都实现的非常好.可是没有去測试效率.只是在cell重用的时候表现不错.在4s上面也不会卡顿. 唯一一个问题就是,在使用AL的时候.不方便. 所以,此次新版本号是基于7.0开发.决定使用textkit又一次编写一次. 以下是一些主要的使用: @interface MMTextAttachment : NSTextAttachment { } @end @implementation MMTextAttachment //I…
本文由 伯乐在线 - 和谐老约翰 翻译自 Max Seelemann.欢迎加入技术翻译小组.转载请参见文章末尾处的要求. iOS7 的发布给开发者的案头带来了很多新工具.其中一个就是 TextKit(文本工具箱).TextKit 由许多新的 UIKit 类组成,顾名思义,这些类就是用来处理文本的.在这里,我们将介绍 TextKit 的来由.它的组成,以及通过几个例子解释开发者怎样将它派上大用场. 但是首先我们得有一点背景知识:TextKit 可能是近期对 UIKit 最重要的补充了.iOS7 的…
先上一张图: 这是使用UITextView时用到的iOS7新增加的类:NSTextContainer.NSLayoutManager.NSTextStorage及其相互关系: 这三个新出的类还没有在官方出独立的class reference,但是在新出的UIKit_Framework上已经有这些类的相关说明及使用方法,当然官方还会更新. 以下是摘自文档的部分语句: 首先是NSTextContainer: The NSTextContainer class defines a region in…
在iOS中有一项功能,就是用户可以自定义设备的字体大小,粗体和其他一些样式.具体可以选择 “设置” ---- “通用” ---- “字体大小“ / “辅助功能”, 重新调整文本字体的样式. 如何使app支持文本动态样式修改? 1)使用 preferredFontForTextStyle 方法给文本设置一个样式. self.textView.font = [UIFont preferredFontForTextStyle:UIFontTextStyleBody]; 关于TextStyle,API中…
之前用Text Kit写Reader的时候,在分页时要计算一段文本的尺寸大小,之前使用了NSString类的sizeWithFont:constrainedToSize:lineBreakMode:方法,但是该方法已经被iOS7 Deprecated了,而iOS7新出了一个boudingRectWithSize:options:attributes:context方法来代替: 很碍眼的黄色警告标志. 先来看看iOS7 SDK包中关于boudingRectWithSize:options:attr…
- (CGSize)maxLineSizeWithLines:(NSInteger)lines constraintSize:(CGSize)size attributes:(NSDictionary*)dicAttr { //负责布局渲染 NSLayoutManager* manager = [[NSLayoutManager alloc] init]; //指定渲染的区域 NSTextContainer* con = [[NSTextContainer alloc] initWithSize…
更详细的内容可以参考官方文档 <Text Programming Guide for iOS>. “Text Kit指的是UIKit框架中用于提供高质量排版服务的一些类和协议,它让程序能够存储,排版和显示文本信息,并支持排版所需要的所有特性,包括字距调整.连写.换行和对齐等.”   以前,如果我们想实现复杂的文本排版,例如在textView中显示不同样式的文本,或者图片和文字混排,你可能就需要借助于UIWebView或者深入研究一下Core Text.在iOS6中,UILabel.UIText…
★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★➤微信公众号:山青咏芝(shanqingyongzhi)➤博客园地址:山青咏芝(https://www.cnblogs.com/strengthen/)➤GitHub地址:https://github.com/strengthen/LeetCode➤原文地址:https://www.cnblogs.com/strengthen/p/10354901.html ➤如果链接不是山青咏芝的博客园地址,则可能是爬取作者的文章…
★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★➤微信公众号:山青咏芝(shanqingyongzhi)➤博客园地址:山青咏芝(https://www.cnblogs.com/strengthen/)➤GitHub地址:https://github.com/strengthen/LeetCode➤原文地址:https://www.cnblogs.com/strengthen/p/10354924.html ➤如果链接不是山青咏芝的博客园地址,则可能是爬取作者的文章…
iOS7以后,因为TextKit的强大,可以用NSAttributedString很方便的实现图文混排(主要是利用了NSTextAttachment). 关于Textkit的牛逼之处,可以参考objcio上的文章(https://objccn.io/issue-5-1/) 我用NSAttributedString仿写了一个知乎的输入框(低仿,就是有个功能而已),效果如图: demo在这里:(https://github.com/Phelthas/TEST_XMLCommon   的第四个)  …
至于DTCoreText是干嘛的,不清楚的同学自行网上脑补,这就不啰嗦了,只说一下其用法. 里面有三种控件供大家使用,DTAttributedTextView, DTAttributedLabel 和 DTAttributedTextCell. 什么情况下用那种控件,自己去网上查,并且前两种目前可以用原生控件代替,具体大家可以看看textkit框架. 不过有一种情况却比较复杂,就是每个cell里都有一段富文本,但又不是完全是,显然DTAttributedTextCell是无法直接满足我们的需求的…
这篇文章会非常详细的分析 iOS 界面构建中的各种性能问题以及对应的解决思路,同时给出一个开源的微博列表实现,通过实际的代码展示如何构建流畅的交互. Index 演示项目 屏幕显示图像的原理 卡顿产生的原因和解决方案 CPU 资源消耗原因和解决方案 GPU 资源消耗原因和解决方案 AsyncDisplayKit ASDK 的由来 ASDK 的资料 ASDK 的基本原理 ASDK 的图层预合成 ASDK 异步并发操作 Runloop 任务分发 微博 Demo 性能优化技巧 预排版 预渲染 异步绘制…
文章内容大纲 1.NSMutableAttributedString的基本使用 2.NSMutableAttributedString的简易封装 3.使用开源代码GOBMarkupPaser处理富文本 4.UITextKit简介 5.编程思想的相关思考 前言 富文本使用案例: 这里我自己也用了富文本实现了简单的却也是常用的例子: 对于最后面的¥50中划线这种设置,估计只有富文本最好用了. 在IOS或者Mac OS X通过UIKit提供的用来显示字符串控件有三个: UILable,UITextFi…
图文混排的形式 1. 富文本形式 2. core Text(文字排版) 3. TextKit 4. UIWebView 一.富文本 我们可以采用attributeString来进行图文混排.例如一个文字上插入一个图片.实现如下: NSString *content = @"文字加上表情[得意][酷][呲牙]"; NSMutableAttributedString *attrStr = [Utility emotionStrWithString:content]; _firstLabel…
在iOS中框架是一个目录,包含了共享资源库,用于访问该资源库中储存的代码的头文件,以及图像.声音文件等其他资源.共享资源库定义应用程序可以调用的函数和方法. iOS为应用程序开发提供了许多可使用的框架,并构成IOS操作系统的层次架构,分为四层,从上到下依次为:Cocoa Touch Layer(触摸UI层).MediaLayer(媒体层).Core Services Layer(核心服务层).Core OS Layer(核心OS层). 低层次框架提供IOS的基本服务和技术,高层次框架建立在低层次…
  objc系列译文(5.1):认识 TextKit 手把手教你配置苹果APNS推送服务 如何使用iOS Addressbook UIApplication深入研究 GCD倒计时 那些不能错过的Xcode插件 iOS开发系列--音频播放.录音.视频播放.拍照.视频录制 Mantle 初步使用 CABasicAnimation animationWithKeyPath Types 插件管理Alcatraz…
如何让iOS 保持界面流畅?这些技巧你知道吗   作者:ibireme这篇文章会非常详细的分析 iOS 界面构建中的各种性能问题以及对应的解决思路,同时给出一个开源的微博列表实现,通过实际的代码展示如何构建流畅的交互. Index 1.演示项目 2.屏幕显示图像的原理 3.卡顿产生的原因和解决方案 CPU 资源消耗原因和解决方案 GPU 资源消耗原因和解决方案 4.AsyncDisplayKit ASDK 的由来 ASDK 的资料 ASDK 的基本原理 ASDK 的图层预合成 ASDK 异步并发…
CoreText是iOS3.2推出的一套文字排版和渲染框架,可以实现图文混排,富文本显示等效果. CoreText中的几个重要的概念:  CTFont CTFontCollection CTFontDescriptor CTFrame CTFramesetter CTGlyphInfo CTLine CTParagraphStyle CTRun CTTextTab CTTypesetter 先来了解一下该框架的整体视窗组合图: CTFrame 作为一个整体的画布(Canvas),其中由行(CTL…
这本书非常的好,看完后,感触挺深,总结纪录一下,针对ios开发的备忘: 注:分类和原著有些不同,自己总结学习用的,仅供参考.   系统篇: 了解oc起源:继承c,由Smalltalk演化而来.动态语言,运行期决.需要熟悉c语言.      6.  理解变量属性 a.原子性 b.读写 c.内存管理语义 d.方法名 .尽量少用atomic .注意使用copy属性避免数据安全问题. 还有oc动态语言特性,硬编码问题.类内部不要直接访问变量.      7.  还是重复了上一篇:在对象内部尽量直接访问实…
背景:前些天突然想做一个笔记本功能,一开始,觉得挺简单的呀,一个UITextView,网络缓存也不干了,直接本地NSUserDefault存储,然后完事了,美工,弄几张好看的图片,加几个动画,也就这样了.接着,按照惯例,查看已有的备忘录软件,其app store知名的软件:Weiconote等. 才发现没那么简单.这里先不考虑图文混排的问题,首先面对的就是:键盘隐藏之后,文字的位置移动问题啦.细心的体验后发现:系统的备忘录,已经一些做得好的软件,都会进行一些处理,例如: 1.当我编辑的时候,光标…