iOS 复习题(二)(6)
37. Cocoa Touch提供了哪几种Core Animation过渡类型(10分)?
答:Cocoa Touch提供了4种Core Animation过渡类型,分别为:交叉淡化、推挤、显示和覆盖。
38. UIView与CLayer有什么区别(10分)?
答:1. UIView是iOS系统中界面元素的基础,所有的界面元素都是继承自它。它本身完全是由CoreAnimation来实现的。它真正的绘图部分,是由一个CALayer类来管理。UIView本身更像是一个CALayer的管理器,访问它的跟绘图和跟坐标有关的属性。
2. UIView有个重要属性layer,可以返回它的主CALayer实例。
3. UIView的CALayer类似UIView的子View树形结构,也可以向它的layer上添加子layer,来完成某些特殊的表示。即CALayer层是可以嵌套的。
4. UIView的layer树形在系统内部,被维护着三份copy。分别是逻辑树,这里是代码可以操纵的;动画树,是一个中间层,系统就在这一层上更改属性,进行各种渲染操作;显示树,其内容就是当前正被显示在屏幕上得内容。
5. 动画的运作:对UIView的subLayer(非主Layer)属性进行更改,系统将自动进行动画生成,动画持续时间的缺省值似乎是0.5秒。
6. 坐标系统:CALayer的坐标系统比UIView多了一个anchorPoint属性,使用CGPoint结构表示,值域是0~1,是个比例值。这个点是各种图形变换的坐标原点,同时会更改layer的position的位置,它的缺省值是{0.5,0.5},即在layer的中央。
7.渲染:当更新层,改变不能立即显示在屏幕上。当所有的层都准备好时,可以调用setNeedsDisplay方法来重绘显示。
8.变换:要在一个层中添加一个3D或仿射变换,可以分别设置层的transform或affineTransform属性。
9.变形:Quartz Core的渲染能力,使二维图像可以被自由操纵,就好像是三维的。图像可以在一个三维坐标系中以任意角度被旋转,缩放和倾斜。CATransform3D的一套方法提供了一些魔术般的变换效果。
39.链表翻转。
40. 链表逆序(C语言)(10分)。
链表逆序就是把一个链表按照原来的链接顺序逆序实现(也就是将头变成尾,尾变成头)。
编程思路:其实最关键的是先通过原来的链接顺序找到下个节点,然后再把前个节点反序。
41. Quatrz 2D的绘图功能的三个核心概念是什么并简述其作用(10分)。
答:上下文:主要用于描述图形写入哪里;
路径:是在图层上绘制的内容;
状态:用于保存配置变换的值、填充和轮廓,alpha值等。
42. iPhone OS主要提供了几种播放音频的方法(10分)?
答:SystemSound Services
AVAudioPlayer类
Audio Queue Services
OpenAL
43. 使用AVAudioPlayer类调用哪个框架、使用步骤(10分)?
答:AVFoundation.framework
步骤:配置AVAudioPlayer对象;
实现AVAudioPlayer类的委托方法;
控制AVAudioPlayer类的对象;
监控音量水平;
回放进度和拖拽播放。
44. 有哪几种手势通知方法、写清楚方法名(10分)?
答:
-(void)touchesBegan:(NSSet*)touchedwithEvent:(UIEvent*)event;
-(void)touchesMoved:(NSSet*)touched withEvent:(UIEvent*)event;
-(void)touchesEnded:(NSSet*)touchedwithEvent:(UIEvent*)event;
-(void)touchesCanceled:(NSSet*)touchedwithEvent:(UIEvent*)event;
45. 实例化一个UITableView对象,要求写出关键语句(10分)。
答:UITableView *my = [[UITableView alloc]initWithFrame:<(CGRect)frame> style:<(UITableViewStyle)style>];
相关新闻>>
- 发表评论
-
- 最新评论 更多>>