iOS-对CALayer的最简单使用

本文介绍iOS CoreAnimation的基本概念并提供一个示例:如何使用CALayer在屏幕中心显示一张图片,背景设置为黑色。文章还介绍了CALayer的一些子类,如CAScrollLayer、CATextLayer等。

iOS的Core Animation,有很多概念,包括Layer(层)、Animation(动画)和Timing(时序)、Layout(布局)和constraint(约束)、Transaction(处理)。其中Layer是最基础的。

本文示例将在层中显示图片,层的背景是黑色的,层被定位在屏幕的中心,可以通过背景辨认出哪部分是由层来实现的。

Layer有多种,最基本的是CALayer,它也是其他种类Layer的父类。CALayer的子类有:

  • CAScrollLayer,用于简化显示层的一部分
  • CATextLayer,便于从字符串生成内容是文本的层
  • CATiledLayer,可用于显示复杂的图片
  • CAOpenGLLayer,提供OpenGLES渲染环境

Core Animation是基于QuartzCore的,需要在项目中引入框架:

另外,要在文件中import:

#import

代码如下:

 - (void)viewDidLoad {
        //取消状态栏,并有个动画效果
        [[UIApplication sharedApplication] setStatusBarHidden:YES withAnimation: UIStatusBarAnimationSlide];
        //按照屏幕大小生成UIview
        self.view=[[UIView alloc] initWithFrame:[[UIScreen mainScreen] applicationFrame]];
        //设置背景颜色
        self.view.backgroundColor=[UIColor blueColor];
 
        //[self loadImageViews];
        [self loadSimpleImageAnimation];
 
    }
 
    -(void)loadSimpleImageAnimation{
        //创建图片对象
        UIImage *image = [UIImage imageNamed:@"6.png"];
        //创建层
        CALayer *layer = [CALayer layer];
        layer.backgroundColor = [[UIColor blackColor] CGColor];//设置背景色
        layer.bounds = CGRectMake(0, 0, image.size.width,image.size.height);//层设置为图片大小
        layer.contents = (id)[image CGImage];//层的内容设置为图片
        layer.position = CGPointMake(1024/2 , 768/2);//层在view的位置
        [self.view.layer addSublayer:layer];//将层加到当前View的默认layer下
 
        [layer release];
        [image release];   
    }

原文链接:http://marshal.easymorse.com/archives/3966

下载代码方式:https://pan.quark.cn/s/e6c2e312b658 在苹果公司的Mac操作系统环境中,当用户尝试安装非原厂驱动程序时,可能会遭遇系统无法正常启动的困境。这种情况常常源于名为.kext的内核扩展驱动程序存在兼容性问题或安装过程中出现失误。这份指南介绍了一种无需重新安装操作系统且能够保护所有用户数据的修复方法,这一方案对于先前许多面临类似挑战的用户而言,曾是极为棘手的情况。文档中提及的“用户模式启动”实际是指单用户模式,这种启动方式仅加载核心系统功能,而忽略图形用户界面及常规应用程序的加载。在单用户模式下,用户能够访问命令行界面,进而执行一系列修复指令。解决此问题的首要环节是验证存储设备是否存在故障,因为这是导致系统无法启动的常见诱因。借助终端指令`/sbin/fsck -f`,可以诊断并纠正文件系统层面的错误。倘若系统在启动过程中检测到文件系统异常,通常会自动执行`fsck`命令,然而,如果系统卡在进度条100%无法继续,手动运行该命令则显得尤为必要。指令`mount -uw /`的功能是将根目录切换为可读写状态,由于系统默认是以只读模式启动的。这一操作的目的是为了在不重新进入正常模式的前提下,对系统进行必要的调整。随后,文档提供了一个关键操作:对存在问题的驱动程序文件进行修改或更名。在Mac系统中,第三方驱动程序一般安装在`/Library/Extensions/`目录下。每个驱动程序都包含一个以.kext为后缀名的文件夹,例如在此案例中的AX88772.kext。通过命令行将故障的.kext文件更名(例如改为.kext.bak),可以临时禁用该驱动程序。这一操作需在命令行环境中完成,首先使用`cd /Library/Exte...
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值