标签:
本文是本人自己辛苦翻译的,请转载的朋友注明,翻译于Z.MJun的CSDN的博客 http://blog.csdn.net/Zheng_Paul,感谢!
翻译于2015年10月6日
Cocoa Touch层包含了关键的库来构建IOS应用。这些库定义了应用的表现。他们提供应用的基本空间和提供关键技术,如多任务,以接触为基础的输入,消息推送,和许多高级的系统服务。当你设计你的应用时候,你需要优先研究他们。
接下来的章节描述一些关键技术
每一个扩展的点定义了适当的APIs。当你使用应用扩展模板来开发,你可以获得默认的目标,内容方法存根和你选择的扩展属性列表设置。
Handoff 传送(Guide)
Handoff是OS X系统和IOS系统的一个特性,跨越设备的连续性延伸的用户体验。Handoff允许用户在一个设备上执行一个活动,跳转到其它设备,活肤一个相同的活动在其他设备上。例如,一个用户在Safari上浏览一篇长文章,摘取文章到一个使用相同AppleID的IOS设备上,或者在IOS的Safri上打开一篇相同的网页,并且像原来的设备一样,在同一个scroll点上。Handoff使得用户感觉到无缝的用户体验。
应用只需要采用的一个小的API就可以使用Handoff。每个在应用里进行的活动,将会在其他设备上恢复相应的内容活动。当用选择回复活动,这个对象发送到将要恢复的设备上。每个用户的活动对象有一个回调,在恰当的时间下恢复活动状态,如,在用户活动对象前,发送到设备间。
如果继续一个活动需要许多数据,用户的活动对象容易传送。在恢复中的应用有一个选项来打开一个流到源应用。基于文档的应用可以为用户自动在基于iCloud文档下支持活动。
Document Picker 文档选择器 (Guide)
Document Picker(UIDocumentPickerViewController)界面同意用户访问应用沙盒以外的文件。它是一个简单的在应用间的分享原理。同时允许复合的工作流,因为用户可以在不同应用里修改一个文档。
Document Picker让你从许多文档供应商里访问文件。例如,iCloud文档提供者同意访问在其他应用里的iCloud的文档存储器。第三方开发者可以提供额外的文档提供者来自扩展的存储提供者。
AirDrop
AirDrop提供用户在附近设备上分享图片,文档,链接和其他他不同的数据的能力。支持在UIActivityViewController类下分享文件到其他应用里。这些类显示不同的选项来分享内容到你指定的地方。如果你是用这个类,你需要考虑添加你的接口。
使用AirDrop接收文件,你需要
接收到的文件保存在Documents/Inbox 字典下,如果你计划修改这个文件,你必须把它移出这个字典再做修改。(在Inbox下,系统只允许读取和删除文件)。文件在这个路径下是被加密保护的,所以当设备锁上的情况下,是不能获取文件的。
TextKit (Guide)
TextKit是一个功能全面,一些列高级别的类,处理文本和精美的排版。使用TextKit,你可以在段落,专栏和页面里排出不同风格的版。你可以在任意区域使得文本像图片一样显示。同时你可以使用它来管理不同的字体。如果你考虑使用Core Text来实现阅读文字,你应该使用TextKit。TextKit是基于文本为基础的完整库。可以使应用更容易的创建,修改,显示和存储文本,和在IOS里使用更少的代码。
TextKit包含新的UIKIt类,随着已经存在的类
UIKit Dynamics
应用现在可以在UIView对象制定动态行为,和对于其它对象也遵循UIDynamicItem 协议。(对象遵循这个协议叫dynamic item)。动态行为提供了一个方法,使得应用的用户体验,和真实世界的动态行为和特性相同。UIKit的动态支持以下特性:
当你添加它到一个动画的对象上,动态行为变成活动的,这个动态对象定义为UIDynamicAnimator类。这个动画提供的执行动态行为内容。一个动态ITem可以拥有多个行为,但是多有的行为都必须是运动在同一个动画对象里。
Multitasking (Guide)
电池文件是一个重要的用户考量的IOS设备。在iOS的多任务模型的目的是最大限度地提高电池的寿命,同时给他们的应用需要做的重要的工作。当用户按Home键,前景的应用会排位到背景。如果应用没有太多的事情做,它就会被挂起,和放在一个冻结区域,内存不会在执行他的代码。应用需要提供特定的工作类型来告诉系统请求后台时间。
Auto Layout (Guide)
自动适配帮你使用较少的代码建设动态界面。使用自动适配,你可以为怎么适配元素来定义规则在你的用户界面上。这些规则表达了一大堆类的关系,更直观的使用,比以前使用的springs and struts模型更直观。例如,你可以定义一个按键总是距离父界面的左边界20个像素点。
故事板 Storyboards
Storyboards,设计用户界面的,一个推荐的方式。Storyboards让你在一个地方设计你的用户界面,因此你可以看到你所有的界面,view controller,和明白他们是怎么一起工作的。一个重要的部分是,Storyboards有能力定义segues连接,他可以帮助view controller间的传送。这些传送允许你捕获你设定好的界面流,除了内容。你可以在表面上定义这个传送。在Xcode里,或者程序初始化它们。
你可以使用一个简单故事板文件,来存储你的所有应用中的界面,和viewcontroller,或者使用多个故事板来管理。在创建的时候,Xcode会把故事板的文件内容和把它分成分立的部分,这部分可以更好的使得初始化装载。你的应用不需要直接操作他们。UIKit库提供了便捷的类来访问故事板的内容。
UI State Preservation
状态保留提供了无缝的用户体验来使得你的应用总是处于运行,尽管它没有。如果系统的内存压力,他可以快速的关闭一个或者多个后台与应用。当应用从前景移动到背景,他可以保护界面和view controller的状态。到下一个周期,他可以保护信息状态到重启界面和viewcontroller,提供配置和让他显示和之前一样的内容,而不是重新打开。
苹果消息推动服务 Apple Push Notification Service Local and Remote Notification Programming Guide
苹果消息推送服务提供一个方法,来告诉用户IOS应用的新信息,即使这个应用没有在运行。使用这个服务,你可以在任何时候推送文本消息,和添加一个应用图标,或者音效在用户设备。这些消息让用户知道,他们需要打开你的应用来接受相关信息。在IOS7,你可以推送静态的消息让你的应用知道,新的内容可以下载。
从设计的立场,这是两个部分使得推送为IOS应用服务。第一,应用必须请求传送通知,和当传送后,马上处理通知。第二,你需要提供服务端,第一时间处理生成的通知。这个处理需要在你自己的本地服务器和与苹果推送服务一起工作才能生成通知。
Local Notifications (Local and Remote Notification Programming Guide)
本地通知补充现有的推送通知机制,为应用提供了一种生成的本地通知的方法,而不需要使用服务器。应用运行在后台的时候可以使用本地通知,来告诉用户一些重要的事情发生了。如,导航应用运行来后台,可以使用本地通知来警告用户什么时候转弯。应用同时可以设置一个在未来的时间本地通知,即使应用没有在运行,也可以传递通知。
本地通知的一个好处是,他们是独立于应用的。在设定好一个通知后,系统会管理传递他们,你的应用不需要运行。
手势识别 Gesture Recognizers Event Handling Guide for iOS
手势识别常用手势的检测,如,在你的应用里swipes滑动和pinches捏。因为他们使用与系统一样的手势识别,所以手势识别为应用提供了一致的行为。使用一个,在应用里添加一个手势识别,给他一个运作方法去执行手势事件。手势识别是一个来自原始触碰的困难的最终工作和决定他们什么时候是个手势。
所有的手势识别都是基于UIGestureRecognizer类,决定了基本行为。UIKit支持标准的手势识别,如, taps轻拍, pinches捏, pans, swipes滑动, rotations旋转等。你可以定义一些手势识别在你的应用里。例如,你可以告诉轻拍这个行为是定义多个轻拍来执行你的方法。
Standard System View Controllers (View Controller Programming Guide for iOS)
许多系统库定义了view controller的标准系统界面。只要可能,使用提供的view controller好过自己定义的。更加鼓励使用这些view controller在你的应用里面实现你的用户界面。只要可能你需要执行一个接下来的任务,你可以使用view controller来自相应的库。
接下来要介绍的是这个库和库下的功能
2.0 通讯录界面 AddressBookUI.framework
提供通讯录的标准系统的显示界面,同时可以创建新的通讯录信息和修改已存在的信息。这个库规范了通讯录的界面,和简化了显示。使得所有程序使用的都是统一的界面。(AB)
4.0 日历事件UI _EventKitUI.framework
_
为ViewController提供标准的系统日历接口,来显示和修改日历事件。在EventKit库里,这个库构建在关联数据之上。(EK)
3.0 游戏 _GameKit.framework
_ (Guide)
支持Game Center,用户可以使用它来分享游戏关联的数据。(GK)
4.0 广告 iAd.framework (Guide)
可以让你在应用中投放以横幅为基础的广告。广告整合了标准的界面中,和推送你想要的界面。这个界面都是有苹果iAD服务,自动的获得相关的加载和推送不同的媒体,和处理广告点击事件。(AD)
3.0 地图 MapKit.framework (Guide)
你可以把具有卷页功能的地图放在你的应用界面里。在你显示地图之前,你可以通过这个库来自动以地图内容和显示。你可以标志一个感兴趣的点并且标记注释,你也可以在地图上用自定义覆盖区域来点缀一个片区。例如,你可能是用一个区域来画巴士车站,使用注释来高亮附件的商店和饭店。
另外,显示地图的时候,这个库结合了地图应用和苹果地图服务来提供更好的导航。从地图应用,用户可以从应用上回调地图导航。应用可以提供专业的导航类型,例如地铁信息等。用户可以请求这些导航。应用同时可以从苹果服务器请求步行,和自驾导航,然后整合导航信息,提供点到点的导航路线给用户。(MK)
3.0 信息UI MessageUI.framework (About System Messaging)
为你的应用提供Email和SMS短信显示。这些信息通过一个ViewController来推送到界面上。你可以在填写区域里填写收件人,主题,主要内容,和附件。在展示界面后,用户可以在发送前修改里面的信息。(MF)
8.0 通知 NotificationCenter.framework (Guide)
创建一个小组件在信息中心显示通知。(NK)
8.0 推送 PushKit.framework
提供注册支持VoIP应用。这个库替换以前注册VoIP应用的IPAs。取而代之的是保持一个持续的连接,因此消耗电源,当有电话信号进来时,应用可以通过这个应用获得通知。(PK)
5.0 Twitter Twitter.framework
已经被Social库替换了。支持tweets的UI,和提供创建Urls来访问Twitter服务。(TW)
2.0 界面 UIKit.framework
在IOS下,创建实现图形的关键基础设施,事件驱动的应用程序(UI)
标签:
原文地址:http://blog.csdn.net/zheng_paul/article/details/51206888