首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

CALayer 图层概念二、CALayer属性二、方法

: bounds : 用于设置CALayer宽度和高度,修改这个属性会产生缩放动画. background : 用户设置CALayer背景色, 修改这个属性会产生背景色渐变动画. position...通过CALayer就能做出跟UIView一样界面效果.都能实现相同显示效果,那究竟该选择谁好呢?...= 15; 设置阴影效果 阴影效果shadowColor、shadowOffset、shadowOpacity属性必须同时设置后才可以看到 设置阴影颜色, 注意UIKit框架中颜色不能直接设置给...,但是这样会导致阴影效果没有,可以再添加一个SubLayer,添加阴影。...此处可以和UIViewclipToBounds来比较记忆(clipToBoundsyes会使其上内容包括子视图不能超出边界) 控件截图裁剪三种方法: 给layer设置圆角半径layer.cornerRadius

1.4K70
您找到你想要的搜索结果了吗?
是的
没有找到

iOS动画开发之四——核心动画编程(CoreAnimation)

iOS动画开发之四——核心动画编程(CoreAnimation) 一、引言         前几篇博客详细介绍了有关UIView动画使用与相关效果,然而这些动画是UIKit我们封装好核心动画方法...二、开始前准备 1、认识一个朋友         在开始介绍核心动画内容前,我们需要先搞明白一个东西:Layer。...你可能很少听说他,可是他却无处不在,在iOSUI开发中,任何一个View包括继承于UIView子类上面都会有一个Layer,可以理解Layer单独一层,专门负责视图显示,而view除此之外更多负责触摸时间等逻辑处理...    layer.borderColor=[[UIColor magentaColor]CGColor];//设置边框颜色 注意:因为CoreAnimation层是UI层底层,所以这里颜色CGColor...test"];//添加动画     layer.opacity=0;//透明度改变时执行动画动作 通过上面的示例,我们可以发现,layer属性都可以来进行动画动作,这样,我们对动画操作就自由很多。

57720

iOS学习——核心动画之Layer基础

我们可以通过操作CALayer对象,可以很方便地调整UIView一些外观属性,可以给UIView设置阴影,圆角,边框等等... 2、如何操作layer改变UIView外观?   ...UIImageView中是UIView主layer上添加了一个次layer(用来绘制contents),我们设置边框是主layer,但是次layer在上变,不会有任何影响,所以当我们调用切割语句时候...3D效果....可以做一些简单动画,例如:平移,拉伸,旋转 一些比较高端动画,都是直接操作CALayer,可以制作3D动画 使用CALayer,可以直接操作显示东西,例如阴影,圆角,边框等 所以,对比CALayer...隐式动画就是当对非根层部分属性进行修改时, 它会自动产生一些动画效果,我们称这个默认产生动画为隐式动画. 9.2 如何取消隐式动画?

1.5K61

视觉效果 -- iOS Core Animation 系列三

borderWidth是以点单位定义边框粗细浮点数,默认为0。borderColor定义了边框颜色,默认为黑色。 borderColor是CGColorRef类型。...如上面的示例结果一样,边框并不会把寄宿图或子图层相撞计算出来。而且绘制边框会显示在最上层。 阴影 shadow 阴影属性 控制图层阴影属性会比前面的边框多一些。...阴影裁剪 和图层边框不同,图层阴影继承自内容外形,而不是根据边界来界定。...之前有个UI需求,同时设置阴影和圆角,圆角简单使用layer.cornerRadius和maskToBounds。...注意看左边视图阴影范围,很好说明了图层阴影继承自内容外形,而不是根据边界来界定。 shadowPath属性 图层阴影并不总是方,而是从内容形状继承来

1.1K30

Quartz2D复习(四) --- 图层CALayer和动画CAAnimation

UIView本身不具备显示功能,是它内部层才有显示功能 5)、通过CALayer对象,可以很方便调整UIView一些外观属性,比如:阴影、圆角大小、边框宽度和颜色。。。...CALayerRootLayer(跟层);   所有的非RootLayer, 也就是手动创建CALayer对象,都存在着隐式动画;   隐式动画是指当对非RootLayer部分属性进行修改时,默认会自动产生一些动画效果...比如指定@"position"keyPath, 就修改CALayerposition属性值,已达到平移动画效果 10)、CABasicAnimation -- 基本动画   属性说明:   fromValue...如果设置了path,那么values将被忽略   keyTimes: 可以为对应关键帧指定对应时间点,取值范围0到1.0, keyTimes中每个时间值都对应values中每一帧。...子类,用于做转场动画,能够为层提供移除屏幕和移入屏幕动画效果

1.4K30

iOS开发CoreAnimation解读之二——对CALayer分析

通过它,我们可以轻松创建出炫酷粒子效果。 2.CAGradientLayer CAGradientLayer可以创建出色彩渐变图层效果,如下: ?...三、设置与调整Layer层内容 设置层内容有下面三种方式: 1.可以通过设置CGImagelayer内容。 2.可以通过代理方法来动态修改或者绘制层内容。...当你设置了Layer内容后,例如设置了一张图片,内容尺寸不一定会刚好和layer尺寸合适,我们可以对位置调整,使其达到我们想要效果,contentsGravity属性决定了内容对齐与填充方式...,例如默认设置(0,0,1,1),则整个内容区域都会参与形变。...) CGPathRef shadowPath; //添加一个动画对象 key值起到id作用,通过key值,可以取到这个动画对象 - (void)addAnimation:(CAAnimation *)

99320

Core Animation Programming

,使用图层来创建复杂编程接口 轻量化数据结构,它可以同时显示让上百个图层产生动画效果 一套非常较简单动画接口,能让动画运行在独立线程中,并可以独立于主线程之外....What's UIView在iOS开发中,这个使用频率非常高控件,同时在iOS 所有原生视图都是由UIView派生而来....UIView 与 CALayer 平行层级关系 每个UIView 都会有一个CALayer 实例图层属性.也就是backing layer.UIView 职责就是创建并管理这个图层.用来确保当前子视图在层级关系中添加或者移除时候...为何开发者要使用CALayer 根据刚刚描述,既然CALayer 只是UIView 内部实现细节,那为何在要来使用或者学习它?...图层不能处理触摸事件,同样也要视图不能做事情: 阴影,圆角,颜色边框 3D变换 非矩形范围 透明遮罩 多级非线性动画 CALayer's function 除了CALayer 类,CoreAnimation

1.1K10

Core Animation实战四(视觉效果

我们知道View中封装了一些动画和显示效果那我们为什么还要操作CALayer层面上呢?...这里有一些UIView没有暴露出来CALayer功能: 阴影,圆角,带颜色边框 3D变换 非矩形范围 透明遮罩 多级非线性动画 这篇主要说阴影圆角边框,先看一下Demo效果: ?...].CGColor; //边框宽度 self.View1.layer.borderWidth = 3; } //阴影效果 -(void)shadowEffect{ //阴影透明度...它是一个CGSize值,宽度控制这阴影横向位移,高度控制着纵向位移。...但是,较双线性滤波算法而言,三线性滤波算法存储了多个大小情况下图片(也叫多重贴图),并三维取样,同时结合大图和小图存储进而得到最后结果 kCAFilterNearest是一种比较武断方法。

52120

iOS-圆角、边框阴影

当设置成YES时,图层里面所有东西都会被截取 边框 边框需要设置layer两个属性,borderWidth和borderColor,并且边框是沿着图层bounds绘制,同时包含图层角 borderWidth...边框宽度,以点单位,默认是0;borderColor边框颜色,默认是黑色 阴影 阴影一般需要设置layer四个属性,shadowOpacity、shadowColor、shadowOffset...属性YES 时,阴影就会被裁剪掉 圆角+阴影 从上面我们可以得出,因为对裁剪属性不同需求,在一个view上,圆角和阴影一般是不可并存,那么我们需要怎么办呢?...在解决这个问题之前,我们还需要了解阴影另一个特性:阴影是依据view内容外形确定,而不是根据边界和角半径来确定,下面放张图来解释一下 ?...、阴影随意组合效果,下面是效果图: ?

2.5K50

【IOS开发进阶系列】动画专题

UIView没有暴露出来CALayer功能:     •  阴影,圆角,带颜色边框     •  3D变换     •  非矩形范围      •  透明遮罩 多级非线性动画 1.1.2 平行层级关系...这条线(也被称作stroke)沿着图层bounds绘制,同时也包含图层角。         borderWidth是以点单位定义边框粗细浮点数,默认为0。...边框是绘制在图层边界里面的,而且在所有子内容之前,也在子图层之前。 1.8.3 阴影         iOS另一个常见特性呢,就是阴影阴影往往可以达到图层深度暗示效果。...图4.6 大一些阴影位移和角半径会增加图层深度即视感 1.8.4 阴影裁剪         和图层边框不同,图层阴影继承自内容外形,而不是根据边界和角半径来确定。...CAEmitterLayer是一个高性能粒子引擎,被用来创建实时例子动画:烟雾,火,雨等等这些效果

39010

iOS学习——Quartz2D学习之UIKit绘制

它是高级别的图形接口,它API都是基于Objective-C。它能够访问绘图、动画、字体、图片等内容。 Quartz 2D。是IOS和Mac OS X环境下2D绘图引擎。...涉及内容包括:基于路径绘图,透明度绘图,遮盖,阴影,透明层,颜色管理,防锯齿渲染,生成PDF,以及PDF元数据相关处理。Quartz 2D也被称为Core Graphics,缩写前缀CG。...在IOS上无论采用哪种绘图技术(UIKit、Quartz 2D、Core Animation和OpenGL ES),都离不开UIView,绘制都发生在UIView对象区域内。...在前面我们学会了如何在自定义view中绘制文本信息,其实绘制图片方法绘制文本方法非常类似,所以基本步骤如下: 导入素材 在DrawRect加载图片  UIImage *image = [UIImage...绘制图片方法有三种,区别分别如下: drawAtPoint:(CGPoint *)point:从指定图片左上角起点开始绘制,绘制出来图形跟图片尺寸一样大,图片是按照原始大小进行绘制,吐过图片大小超出当前

1.5K20

动画分析步骤“三步曲”

下图示是准备好背景图片,通过下图可以看出,要想实现最初所示动画效果,只需整个登录界面添加一个登录按钮即可。 动画起始阶段代码需要放在什么位置才合适呢?...第4行设置当前UIButton登录按钮位置,按钮x坐标设置在整个界面之外,因此当前Button按钮是不可见。第5行登录按钮添加一个淡绿色背景。第6行设置登录按钮Title内容。...通过修改viewWillAppear()中内容,可以实现相同动画效果。下面是动画移动效果另外一种代码实现方式。...3.Layer属性:圆角渐变、边框颜色、阴影、3D等高级动画效果 UIView是视图显示容器,负责内容显示和事件响应。...每个UIView都有一个Layer图层,在这个图层中承载是视图内容,所以结合Layer可以实现很多高级动画效果。当然除了这些之外,UIView还有很多其他属性,在后面的章节中会为大家一一呈现。

86010

iOS学习——UIView研究

视图内容填充模式 UIViewContentMode 视图动画过渡效果 UIViewAnimationTransition 视图自动调整大小方式 UIViewAutoresizing 视图动画选项 ...,也是直接采用block方式实现 视图上手势相关扩展 UIView (UIViewGestureRecognizers)  ,主要提供添加、移除和手势开始前回调3个方法 视图上运动效果相关扩展 UIView... (UIViewMotionEffects),主要提供添加和移除运动效果两个方法,还提供一个获取视图上所有运动效果属性 视图上安装约束相关扩展 UIView (UIConstraintBasedLayoutInstallingConstraints...关键帧动画 */ 422 @interface UIView (UIViewKeyframeAnimations) 423 424 /** 创建一个动画块对象,可用于当前视图设置基于关键帧动画...(UIViewMotionEffects) 447 448 /** 添加运动效果,当倾斜设备时视图稍微改变位置 */ 449 - (void)addMotionEffect:(UIMotionEffect

2.7K80

iOS点击TableViewcell显示弹出动画

最近使用豌豆荚一览app时看到它点击cell后弹出界面的动画很帅,所以自己琢磨着实现了一个,效果如下: image 仔细观察的话效果分为几个部分,点击cell时候,首先背景会出现阴影,只有点击...cell还亮着,然后有一点点放大效果同时cell界面在慢慢变成纯白色,最后上下炸开进入内容界面,其实仔细想想,这个和3D Touchpeek效果前奏不是很像嘛。...,即使覆盖整个界面,cell视图和纯白视图要根据点击位置决定,所以阴影视图可以直接写一个方法来创建: // 阴影视图 - (UIView *)bgView { if (nil == _bgView...,我们来拆分一下,整个动画分为三个过程: 第一个过程是加阴影,新创建一个对应cell显示出来,在动画中稍微增大cell凸显效果同时有一个纯白视图慢慢覆盖cell视图; 第二个过程是炸开纯白视图,在动画中将其大小设为整个屏幕大小...动画是使用最基本UIView动画,教程可以看我这篇博客,使用起来还是很方便,延迟执行我用GCD方法,也可以用别的你熟悉方式。

1.4K10

iOS点击查看大图动画效果

今天就讲解一个查看和收起大图动画效果,先直接看效果图: 如图所示,最开始是一个小图,点击小图可以查看大图。大图会从小图位置和大小“弹”出来,同时背景变成半透明阴影。...点击大图或者阴影后,收起大图,同样地弹回到小图去,同时去掉阴影背景,就像是一张图片在伸大缩小一样。 现在看看这是怎么实现。...阴影背景则是占据整个屏幕。同时,我也设置了两个视图点击相应方法,都是收起大图动画方法,我们之后再去实现。现在,我们可以来着手实现显示大图动画了。...这里动画我们使用是最简单iOS 7开始支持基于blockUIView动画,在我这篇博客中也有详细讲解:iOS基础动画教程 然后,我们初始化了阴影背景视图,并添加到界面上,此时不要忘记,要再次将大图手动推送到最上层...当然了,如果小图位置不好获取,那就直接设为从屏幕中点开始缩放,效果也不错。另外,你可能会疑惑为什么我要另行添加一个大图对象,而不直接对小图尺寸进行动画呢?

1.6K20

iOS动画系列之一:带时分秒指针时钟动画(上)1. 最终实现效果以及思维导图2. CALayer3. 隐式动画

CALayer *layer; 当UIView需要显示到屏幕上时,会调用drawRect:方法进行绘图,并且会将所有内容绘制在自己图层上,绘图完毕后,系统会将图层拷贝到屏幕上,于是就完成了UIView...可以理解结构体。 @property BOOL |masksToBounds;|超过部分进行裁剪 设置阴影时候,阴影颜色+阴影偏移(或者阴影路径)+阴影透明度缺一不可。...设置position,就和设置UIViewcenter一样。 记得要添加到父CALayer上。...m34默认值是0,可以通过设置m34-1.0 / d来应用透视效果 d代表了想象中视角相机和屏幕之间距离,以像素单位,那应该如何计算这个距离呢?实际上并不需要,大概估算一个就好了。”...修改这个属性会产生平移动画 3.2 关闭隐式动画 可以通过动画事务(CATransaction)关闭默认隐式动画效果 关闭或者修改隐式动画步骤: 开启动画事物 关闭动画效果或者修改动画事件 设置动画完成后动作

2K30

iOS动画-CALayer基础知识

它实际上是一个复合引擎,可以将存储在图层树体系中不同独立图层,尽可能快地组合成不同可视内容呈现于屏幕上;所以做动画只是Core Animation特性之一; Core Animation直接作用于...我们在访问UIViewframe,bounds等属性又或者设置动画,其实也都是在操作关联图层CALayer特性。...下面是一些UIView没有暴露出来CALayer功能: 设置阴影、圆角、带颜色边框 3D变换 非矩形范围 透明遮罩 多级非线性动画 二、CALyer寄宿图与contents属性 CALayer具有和...contentsRect (CGRect) 允许在图层边框里显示寄宿图一个子域 contentCenter (CGRect) 定义一个固定边框和一个在图层上可拉伸区域 三、UIView方法绘制自定义寄宿图...(或视图)坐标系下点或者矩形转换为另一个图层(或视图)坐标系下点或者矩形;开发过程中我们通常操作对象都是视图,所以下面以视图为例简单演示用法:首先创建添加两个宽高都是100*100橙色、紫色视图在控制器

1.8K50
领券