Session 121 - Understanding UIKit Rendering Rendering一词翻译的戏剧意思是表演,文字意思是翻译。看完本视频讲座我理解的意思是如何利用UIkit来实现各种图像和动画的处理,我认为本讲座介绍了许多高级的编程技巧。UIKit是一个提供用户界面的工具箱,这个class完全是建立在Objective-C的基础之上,可以提供图像处理和动画的强大功能。讲座首先介绍了UIView和CALayer之间的关系。 UIView是iOS中各种用户界面的基础,如button, text area, slide bar, web view等,所有这些界面或组件实际上都是建立在CALayer的基础之上。CALayer实际上是用来表示视觉的内容的一些classes。讲座形象地说明了之间的关系,用CALayer来表示图像的各种效果。 CATransition class可以用来表示图像的动画过程。 讲座介绍了许多技巧,如局部放到、旋转、映象、透明、阴影、增加图像清晰度等。 iOS Accessibility 苹果多年来致力与为残疾人使用电脑设计了各种方式基本支持,在移动设备方面也不例外。iOS在这方面有有许多的改进,苹果鼓励软件开发者充分利用这些API,为残疾人的使用提供支持。苹果使用Accessibility一词来表达容易接进和可达到,即为身体有障碍的人的支持。 为了给残疾人提供同等的使用支持,苹果提供了许多容易使用的API,其中许多用户界面自动就有基本的accessibility的支持。记得去年我看WWDC 2010的视频,其中就有一个盲人软件开发工程师介绍语音方面的支持。 许多用户组件都有语音支持,比如图像可以通过.accessibilityLabel来提供图像的解释文字。许多class都提供基本的attributes: isAccessibilityElement (YES 可提供语音支持),accessibilityLabel用于提供语音的文字,.accessibiityHint提供进一步的语音支持,.accessibilityTraits定义可接近的方式。所有这些都可以在编码中加入,软件就可以提供可接近的支持。 比如让class加.isAccessibilityElement,回答YES,再加上.assessibilityLabel提供文字,这样该class就可以提供可接近支持。 iOS在Notifications中也提供语音支持,当组件发生变化时,通过Notifications来更新UIAccessibilitPostNotification(UIAccessibilityLayoutChangeNotification, nil); 如果屏幕发生变化,语音应设定UIAccessibilityPostNotification(UIAccessibilityScreenChangeNotification, nil); 除了提供这些基本的可接近支持之外,苹果在iOS还提供新的支持,解决了以前很难解决的问题。比如.accessibitiyViewIsModal 可告诉语音忽略其它的views;.accessibilityElementsHidden可告诉语音忽略所有内部的组件;.accessibilityActivationPoint 可让语音模拟接触的点是点触event;.accessibilityPerformEscape让语言取消或退出modal状态。 iOS还提供App的特殊API,比如iBooks,和互动的笔画键盘等。这些支持可以让杂志、报纸和图书提供语音支持,在互动中提供笔画、翻页、继续从任何行阅读的语音支持。 讲座中对上述内容都有十分精彩的演示。 最后介绍编码的建议中提到提供国际化的支持,iOS的语音支持现在提供30多种语言。 观后感:我在微软窗口开发软件和应用程序支持做了几十年的工作,但是我所了解微软在操作系统和软件开发支持方面是微乎其微。覆盖面这么广的操作系统,在为残疾人使用方面的考虑确是几乎一片空白。也许残疾人的人口比例很小,但是苹果将他们一同对待。我想如果有一天因为意外而残疾或眼前一片黑暗,我还是能够通过苹果来接触这个世界,我还是能够与人们交流,因为我知道苹果在这方面的工作将会更加有进一步的发展。作为苹果软件独立开发人,我立志将充分将我软件达到百分之百的可接近化,并且至少提供中文的支持,让我们的残疾人同胞,我们同等的人类,也能体会到科技给我们精神和生活带来的便利,为他们提供服务。 我的RSS |