- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
如何在Swift中运用Text Kit框架 由于Apple近几年在iOS系统的不断改进过程中添加了许多新的特性和功能,这使得iOS系统对文本的渲染能力有了大大的提升。在iOS7中我们就已经能感觉到在文本渲染方面有了很大改进和提升。现在iOS8发布了,在文本渲染方面在延续了之前强大功能的基础上,又提升了其易用性。简单纵观iOS文本渲染的发展史,你也许对目前文本渲染的强大能有更深刻的体会。 在iOS6之前,使用web视图渲染文本是当时最为容易的一种方式,因为它能较为有效的处理混合编排的文本,比如有粗体字、斜体字、有颜色的字等。 2012年,iOS6在UIKit框架中添加一些支持字符串编辑或渲染的控件。这使得在渲染文本时,使用web视图不再是唯一的选择了。并且在文本排版方面不用再依赖通过HTML布局这种方式了。 在iOS6中,UIKit中支持字符串编辑和渲染的控件是同时基于WebKit和Core Graphic的String drawing函数开发出的,整个如下图所示: 注意:在这张图上有没有让你疑惑的地方呢?没错,UITextView是基于WebKit框架的。实际上,UIKit中与文本相关的这些控件在底层还是使用HTML渲染的。没有深入研究过相关框架的开发者是不太容易察觉这一点的。 尽管iOS6中提供的这些文本控件在实际开发中的确带来了不少便利,但是当遇到复杂的布局、多行混合渲染等这种高级应用场景时,这些控件就显得捉襟见肘了,此时虽然Core Text是相对底层而且用法繁复的框架,但使用它来解决问题仍是唯一可以选择的方法。 直到iOS7的问世,这种窘境得以改善。随着扁平化的设计思路,iOS的UI拚弃了沿用多年的拟物化风格,将重点和关注点集中在排版工艺上。比如UIButton在iOS7中去掉了整个外边框和阴影,只留下了按钮文字。所以Apple在iOS7中加入了用于文本编排和渲染的Text Kit框架就不足为奇了。 在iOS7中关于文本渲染的控件及框架结构就比较清晰和合理了。因为所有UIKit中的文本控件都基于Text Kit框架,而不像iOS6中还有基于Web Kit框架的: Text Kit在继承了Core Text所有强大功能的基础上,将功能封装为面向对象的API,让开发者们都乐开了花。 在这篇教程中,你要去探索Text Kit的各种功能特性,并且你要创建一个简单的但又功能丰富的iPhone笔记应用。 开始 本教程包含一个初始的项目,里面含有事先创建好的UI部分,以便使同学们只关注于Text Kit的部分。在这里可以下载该项目。下载完成后解压并在Xcode中打开项目,编译运行后你会看到如下的界面: 该示例应用创建了一个初始的数组用于存放笔记实例,然后在TableViewController中将其渲染出来,当你点击选择某条笔记时,Storyboard和segue会捕获到你的行为,然后处理视图转换的先关工作,使你看到该条笔记的详细信息。 Dynamic Type(动态字体) Dynamic Type是iOS7中给我们的开发带来变化最多的特性之一,它的作用是让应用中的字体大小遵循你设置的字体大小和粗细。 在iOS7中,打开设置,可以在 通用/辅助功能(General/Accessibility) 和 通用/字体大小(General/Text Size) 中查看和设置系统中应用显示字体的属性: 在iOS8中,打开设置,可以在 通用/辅助功能/更大字体(General/Accessibility/Larger Text) 查看Dynamic Type的文本尺寸。 不管是增加文字粗细还是改变文字大小,在支持Dynamic Type的应用中这都能给用户带来极大的便利,增加了文字的可读性。 为了让应用支持Dynamic Type,你需要设置文本遵循某一风格,而不是明确的指定文本的字体名称和大小。在iOS7中已经为UIFont增加了一个新的方法preferredFontForTextStyle,它的作用是给创建出一个由用户在设置中根据自身需要设定的风格的字体。 下表中展示了六种不同字体样式的不同大小和粗细程度: 表中最左边的字体是用户可选择的最小的字体,中间是可选择的最大的字体,最右边是选择了辅助功能中给字体加粗后的样式。 最基本的功能支持 实现动态文本的基本功能还是相对较简单的。应用中的字体不再是一个明确的字体,而是需要请求一个特殊的字体样式。在运行时,应用会根据用户在设置应用中对字体的设置以及请求到的字体样式中选择一个合适的字体样式。 到了iOS8,Apple让实现Dynamic Type变得比iOS7更加容易了。尤其是TableView中的默认Label自动支持Dynamic Type,这个很赞!但是如果还想适配iOS7的话那就要在Tabl
您可能关注的文档
- 移动互联软件测试-2017 缺陷的属性及其报告 缺陷的优先级和严重性.docx
- 移动互联软件测试-2017 缺陷的属性及其报告 如何撰写一个好的Bug报告.docx
- 移动互联软件测试-2017 数据流分析 数据流分析-说课稿.docx
- 移动互联软件测试-2017 数组实现脚本参数化 环境变量实现脚本参数化-说课稿.docx
- 移动互联软件测试-2017 随机测试法 随机测试法-说课稿.docx
- 移动互联软件测试-2017 随机数实现脚本参数化 随机数实现脚本参数化-说课稿.docx
- 移动互联软件测试-2017 条件覆盖法 条件覆盖法-说课稿.docx
- 移动互联软件测试-2017 条件组合覆盖法 条件组合覆盖法-说课稿.docx
- 移动互联软件测试-2017 因果图法 因果图法-说课稿.docx
- 移动互联软件测试-2017 语句覆盖法 语句覆盖法-说课稿.docx
- 移动应用软件开发综合实训(基于iOS平台)-2017 堆叠视图UIStackView使用 iOS 9- UIStackView入门.docx
- 移动应用软件开发综合实训(基于iOS平台)-2017 多线程基础 iOS开发之多线程.docx
- 移动应用软件开发综合实训(基于iOS平台)-2017 加速、倾斜与旋转检测 iOS开发—传感器.docx
- 移动应用软件开发综合实训(基于iOS平台)-2017 使用AVAudioPlayer播放音乐 iOS开发-AVAudioPlayer.docx
- 移动应用软件开发综合实训(基于iOS平台)-2017 使用AVPlayerViewController播放视频 iOS9 视频播放器 AVPlayerViewController的简单使用.docx
- 移动应用软件开发综合实训(基于iOS平台)-2017 使用GitHub进行代码托管 iOS 使用GitHub托管代码.docx
- 移动应用软件开发综合实训(基于iOS平台)-2017 使用GitHub进行代码托管 iOS-将项目上传到-GitHub-上.docx
- 移动应用软件开发综合实训(基于iOS平台)-2017 使用OSChina进行代码托管 iOS-将项目上传到 Git.OSChina 上,创建自己的私有项目.docx
- 移动应用软件开发综合实训(基于iOS平台)-2017 使用日志与断言 iOS如何实时查看App运行日志.docx
- 移动应用软件开发综合实训(基于iOS平台)-2017 使用通讯录、邮件、浏览器和地图 iOS9 新特性联系人Contact FrameWork.docx
最近下载
- 变压器防护方案.pdf VIP
- 大模型驱动的多智能体协同初探 清华大学 2024.pptx VIP
- SolidWorks 2023实用教程(杨正)课件全套 第1--10章 SolidWorks基础知识与用户界面 --- 工程图设计.pptx
- 手足口防控培训课件.pptx VIP
- 2025一建《建设工程法规及相关知识》考前10页纸(完整版).docx VIP
- 2025-2030中国驴奶行业发展现状调研与营销策略分析研究报告.docx
- 人教版八年级数学上册第十二章 《全等三角形》章节测试题.pdf VIP
- 华中科技大学版五年级信息技术教案.docx VIP
- 明天会更好(合唱简谱).pdf VIP
- 莫斯科郊外的晚上(高考声乐谱伴奏谱)原版正谱五线谱钢琴弹唱谱乐谱.pdf VIP
文档评论(0)