代码改变世界

随笔档案-2013年11月

Text Kit入门

2013-11-06 22:58 by Tracy E, 561 阅读, 收藏,
摘要: 更详细的内容可以参考官方文档《Text Programming Guide for iOS》。“Text Kit指的是UIKit框架中用于提供高质量排版服务的一些类和协议,它让程序能够存储,排版和显示文本信息,并支持排版所需要的所有特性,包括字距调整、连写、换行和对齐等。”以前,如果我们想实现复杂的文本排版,例如在textView中显示不同样式的文本,或者图片和文字混排,你可能就需要借助于UIWebView或者深入研究一下Core Text。在iOS6中,UILabel、UITextField、UITextView增加了一个NSAttributedString属性,可以稍微解决一些排版问题,但 阅读全文

Text Kit进阶

2013-11-06 22:56 by Tracy E, 1009 阅读, 收藏,
摘要: 在上一篇文章Text Kit入门中我们主要了解了什么是Text Kit及它的一些架构和基本特性,这篇文章中会涉及关于Text Kit的更多具体应用。Text Kit是建立在Core Text框架上的,我们知道CoreText.framework是一个庞大而复杂的框架,而Text Kit在继承了Core Text强大功能的同时给开发者提供了比较友好的面向对象的API。本文主要介绍Text Kit下面四个特性:动态字体(Dynamic type)凸版印刷体效果(Letterpress effects)路径排除(Exclusion paths)动态文本格式化和存储(Dynamic text form 阅读全文

Web Notification

2013-11-06 22:55 by Tracy E, 1451 阅读, 收藏,
摘要: 在OS X 10.8 Mountain Lion系统上,通过Safari访问的页面能够发送通知到系统右边栏通知中心,通知(Notification)是通过WebKitNotification对象发出的,这也是W3C标准实现的一部分。来自Safari的通知可以在系统偏好设置的“通知”面板内进行设置,有些用户可能希望Safari的通知以提示框(alert)的形式在屏幕上停留一会儿然后再消失,有些人可能就不想在屏幕上显示。另外,用户可以在Safari偏好设置的通知面板内对单个网站(域名)的消息进行设定(Allow or Deny)。由于用户可以设置将你的通知给屏蔽掉,所以你应该确保提示的通知是提示性 阅读全文

Objective-C异步编程

2013-11-06 22:54 by Tracy E, 972 阅读, 收藏,
摘要: 1. 不要阻塞主线程不管在进行iOS还是OS X开发中,主线程都只应该处理用户交互和界面布局,好的程序通常能够随时快速响应用户的操作,所以CPU密集型或者会阻塞线程的代码应该在其他位置去执行,我指的是其他线程。2. 在后台线程中执行为了不阻塞主线程,我们应该把更多的操作放到后台中去执行,只有在不得不在主线程中执行时(更新UI等)才回到主线程,GCD是最适合这种线程之间切换的://Main Threaddispatch_queue_t queue;queue = dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0);dispa 阅读全文