Layer的Z轴定位
iOS的Layer有z轴的概念。比如: 红色和灰色是两个Layer,是相邻Layer,都有相同的父Layer。调整z轴参数,让指定的Layer在前面。另外,父Layer是一定在子Layer的后面的。 发送文章为PDF
iOS的Layer有z轴的概念。比如: 红色和灰色是两个Layer,是相邻Layer,都有相同的父Layer。调整z轴参数,让指定的Layer在前面。另外,父Layer是一定在子Layer的后面的。 发送文章为PDF
默认情况下,设置: [starLayer setPosition:CGPointMake(1024/2, 768/2)]; 并不是按照Layer顶点来定位的,而是Layer这个矩形的中心,这也是为什么在不使用nib文件的写法中看到的红色部分居中的效果。 如果需要偏离,需要使用AnchorPoint属性。默认情况下(不设置的情况下),相当于设置了: [starLayer setAnchorPoint:CGPointMake(0.5, 0.5)]; 对y轴来说如果是1则会到顶部,0则会到底部。如上图所示。 发送文章为PDF
也许不使用nib文件,可以让程序员对代码有更直接的控制。说一下做法。做法最后实现的是一个特别简单的视图效果: 样子如左图,右边画了个简单的示意性草图。我们要实现的view是在root view上的,然后在my view的默认layer上加了个子layer,就是显示红色的部分。 日志引用编写基于CALayer的简单动画有关iPad强制横屏的解决方法Layer的Z轴定位Layer在坐标系中的位置 发送文章为PDF
在iOS中经常碰到二者转换的情况,有啥区别呢,见《iPhone Programming》Chapter 18: UIKit (where we get UIImage and anything else prefixed with UI) only exists on the iPhone. Core Animation, however, exists on the iPhone and on the Mac. This means using the Core Graphics types makes your code portable between systems. Fortunately, UIKit objects have methods to easily switch between themselves and their [...]
在对CALayer的最简单使用中使用的是超类CALayer。在该示例上稍作改动,将图片替换为文字: 代码如下: -(void)loadSimpleImageAnimation{ //创建层 CATextLayer *layer = [CATextLayer layer]; layer.string=@"Marshal"; layer.foregroundColor=[[UIColor blackColor] CGColor]; layer.bounds = CGRectMake(0, 0, 200,200); layer.position = CGPointMake(1024/2 , 768/2);//层在view的位置 [self.view.layer addSublayer:layer];//将层加到当前View的默认layer下 [layer release]; } 发送文章为PDF
iOS的Core Animation,有很多概念,包括Layer(层)、Animation(动画)和Timing(时序)、Layout(布局)和constraint(约束)、Transaction(处理)。其中Layer是最基础的。 本文示例将在层中显示图片,层的背景是黑色的,层被定位在屏幕的中心,可以通过背景辨认出哪部分是由层来实现的。 Layer有多种,最基本的是CALayer,它也是其他种类Layer的父类。CALayer的子类有: CAScrollLayer,用于简化显示层的一部分 CATextLayer,便于从字符串生成内容是文本的层 CATiledLayer,可用于显示复杂的图片 CAOpenGLLayer,提供OpenGLES渲染环境 日志引用使用CATextLayer 发送文章为PDF
做图形界面开发的感觉是,可以运用到一些数学知识了,哈哈。需求是将若干小图片平均分布在圆的周长上。效果如下: 用右侧图来表示,就是要求x和y的坐标。iPad的坐标系从左上开始。 圆参数方程公式: x=R*cos(A) y=R*sin(A) 日志引用排列和拖动视图 发送文章为PDF
如果想让iPad在横屏情况下根据重力感应自动朝上显示,需要在Controller里面修改下面的方法: – (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation { 默认是return YES的,这样不论哪个方向都会自动调整屏幕。 如果在iPhone环境下,是取消自动调整屏幕的。 横屏情况下根据重力感应自动朝上显示的代码如下: – (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation { return (interfaceOrientation == UIDeviceOrientationLandscapeRight || interfaceOrientation==UIDeviceOrientationLandscapeLeft); } 发送文章为PDF
写了个类似下面的GridView,滚动的时候有卡或者跳格的现象,尤其当记录比较多的时候。 GridView和ListView机制原理是类似的,都是基于ListAdapter来处理View的控制的。在排查问题的时候也测试了用ListView替换GridView,问题依旧。 实现的示例大致是这个样子: 日志引用实现类似Android Grid效果的列表视图 发送文章为PDF
在Android下,adb shell进入系统,如果用top来查看信息,不是很直观。直接top,格式很混乱。可: top -m 6 查看前6个进程信息。 android提供了更好的工具,procrank。比如: # procrank PID Vss Rss Pss Uss cmdline 101 82080K 46308K 24907K 21760K system_server 191 42272K 42268K 21354K 18900K android.process.acore 1524 39212K 27972K 9343K 8104K qat.pad.speeed.view 其中vss(virtual set size)是虚拟内存,uss(unique set size)是比较能准确说明进程内存使用情况的。 本文参考: http://elinux.org/Android_Memory_Usage 发送文章为PDF
Patagonia Theme designed by Wp Themes Planet and proudly powered by WordPress