首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >UIView和CALayer

UIView和CALayer

作者头像
星宇大前端
发布于 2019-01-15 02:59:36
发布于 2019-01-15 02:59:36
7210
举报
文章被收录于专栏:大宇笔记大宇笔记

首先先看一下苹果对两个对象的描述

 UIView:http://blog.csdn.net/ZY_FlyWay/article/details/58611627

CALayer:http://blog.csdn.net/ZY_FlyWay/article/details/59039800

我们从苹果官方文档可以知道:

    UIView 继承于      UIResponder (UIResponder继承于NSObject)

    CALayer继承于    NSObject

所以他们之间的差异来自于UIResponder定义的那一部分。

1、UIResponder是干嘛的呢?

答:看完这一个就懂了  一句话UIVIew可以响应事件,而Layer不可以。

2、UIView和CALayer有什么关系呢。

答:If the layer object was created by a view, the view typically assigns itself as the layer’s delegate automatically, and you should not change that relationship. For layers you create yourself, you can assign a delegate object and use that object to provide the contents of the layer dynamically and perform other tasks. A layer may also have a layout manager object (assigned to the layoutManager property) to manage the layout of subviews separately.

       从官方文档可以了解到:UIView初始化的时候会自动创建Layer,而layer会自动指定代理是view。所以他俩是代理和被代理的关系。

3、那么layer在view中有什么用呢?

    view中对于图片的渲染,和一些动画操作都是layer完成的,view只是呈现layer的工作结果和处理交互响应事件。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2017年03月01日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
YYText源码解读-YYText同步/异步渲染流程(一)—UIView与CALayer
由官方文档和平时的知识积累和开发经验可知,Layer是View的一个属性,Layer由View初始化时自动创建,而且View会自动将自己设置为Layer的代理。
青芒
2020/03/03
7860
UIview 和CALayer、UIWindow
UIView和CALayer都是源自NSObject。 UIView的继承结构为:UIResponder:NSObject。可以看出UIView的直接父类为UIResponder类。 可见UIResponder是用来响应事件的,也就是说UIView可以响应用户事件。 2.CALayer的继承结构:NSObject 直接从NSObject继承,因为缺少了UIResponder类,所以CALayer不能响应任何的用户事件。 它们分别所属的框架 1.UIView是在/System/Library/Frame
且行且珍惜_iOS
2018/05/22
7040
iOS面试题:UIWindow,UIView,CALayer的区别
继承自UIView,是一种特殊的 UIView,通常在一个app中只会有一个keyUIWindow。
猿_人类
2019/07/01
8890
iOS面试题:UIWindow,UIView,CALayer的区别
老司机带你走进Core Animation 之CAAnimation
开玩笑的,前段时间ipv6被拒啊,超级悲剧的,前后弄了好久,然后需求啊什么的又超多,所以写好的东西也没有时间整理。不过既然我现在回来了,那么这将是一个井喷的时节。(感觉给自己立下了什么死亡flag,啧啧啧)
老司机Wicky
2018/08/22
1.5K0
老司机带你走进Core Animation 之CAAnimation
IOS开发系列——UIView专题之三:自定义绘制篇【整理,部分原创】
iOS的绘图操作是在UIView类的drawRect方法中完成的,所以如果我们要想在一个UIView中绘图,需要写一个扩展UIView的类,并重写drawRect方法,在这里进行绘图操作,程序会自动调用此方法进行绘图。
江中散人_Jun
2022/03/08
1.3K0
苹果有了CALayer,为什么还要UIView?
这篇文章非常生动的解释了一个原则:SRP单一自责原则。SRP是SOLID五大设计原则中最容易被误解的一个。也许是名字的原因,很多程序员根据SRP这个名字想当然地认为这个原则就是指:每个模块都应该只做一件事。我们在将大型函数重构成小函数时经常会用到这个原则,但这只是一个面向底层实现细节的设计原则,并不是SRP的全部。
Wu_Candy
2022/07/04
4180
iOS面试题:UIView block动画实现原理
在了解UIView block动画实现原理之前,需要先了解CALayer的可动画属性。
猿_人类
2019/07/03
1.1K0
iOS面试题:UIView block动画实现原理
CALayer
Layers 通常被用于去提供views的后备存储. A layer’s 的主要工作是管理您提供的视觉内容,但layer’s本身视觉属性可以设置,如背景颜色,边境,和阴影。除了管理视觉内容,该层还维护其内容的几何信息(比如它的位置、大小和变换),用于在屏幕上显示这些内容。修改layer的属性决定着你怎么样在layer几何内容上启动动画。对象封装一层一层的持续时间和节奏及其动画采用CAMediaTiming协议,它定义了层的计时信息。
星宇大前端
2022/06/02
3770
iOS 页面渲染 - UIView & CALayer
今天我们来聊一聊 UIView 与 CALayer 的相关知识以及它们之间的关系,其实这部分内容要是引申出来会比较多,今天我们先收敛一下,先讲一些基本的东西,后面还会有系列文章对其进行扩展。关于iOS的UI渲染部分,还是建议大家看看Apple的官方文档核心动画编程指南[1]以及WWDC2011的sessionUnderstanding UIKit Rendering[2]。
CoderStar
2022/08/24
2.2K2
iOS 页面渲染 - UIView & CALayer
函数响应式编程及ReactiveObjC学习笔记 (二)
之前我们初步认识了RAC的设计思路跟实现方式, 现在我们再来看看如果使用它以及它能帮我们做什么
周希
2019/10/15
5380
Core Animation实战三(图层几何学)
了解游戏的人一般都知道锚点,在UIView中我们很少用到。anchorPoint位于图层的中点,所以图层的将会以这个点为中心放置。anchorPoint属性并没有被UIView接口暴露出来,这也是视图的position属性被叫做“center”的原因。但是图层的anchorPoint可以被移动,比如你可以把它置于图层frame的左上角,于是图层的内容将会向右下角的position方向移动(图3.3),而不是居中了。
星宇大前端
2019/01/15
4500
IOS开发系列——UIView专题之四:事件分发机制篇【整理,部分原创】
iOS中的事件大概分为三种,分别是Milti-Touch Events, Motion Events和Remote Control Events(events for controlling multimedia)。
江中散人_Jun
2022/03/08
7950
IOS开发系列——UIView专题之四:事件分发机制篇【整理,部分原创】
iOS中的转场动画
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u010105969/article/details/66478819
用户1451823
2018/09/13
1.6K0
iOS中的转场动画
iOS 渲染原理解析
对于现代计算机系统,简单来说可以大概视作三层架构:硬件、操作系统与进程。对于移动端来说,进程就是 app,而 CPU 与 GPU 是硬件层面的重要组成部分。CPU 与 GPU 提供了计算能力,通过操作系统被 app 调用。
会写bug的程序员
2020/06/03
2.3K0
iOS 渲染原理解析
IOS开发系列——UIView专题之五:常用开发技巧篇
blurView.backgroundColor= [UIColorcolorWithRed:0green:0blue:0alpha:0.3];
江中散人_Jun
2022/03/08
1.5K0
iOS动画-CALayer基础知识
核心动画Core Animation,其实是由Layer Kit这样一个名字演变而来。它实际上是一个复合引擎,可以将存储在图层树体系中的不同独立图层,尽可能快地组合成不同的可视内容呈现于屏幕上;所以做动画只是Core Animation的特性之一;
梧雨北辰
2019/04/22
2.1K0
iOS动画-CALayer基础知识
CALayer的寄宿图
一个视图就是在屏幕上显示的一个矩阵块(比如图片、文字或者视频),它能够拦截点击以及触摸手势等用户输入。视图在层级关系中可以相互嵌套,一个视图可以管理他的所有所有子视图的位置。
拉维
2019/08/12
1.2K0
CALayer的寄宿图
iOS动画-CALayer隐式动画原理与特性
Core Animation的一个非常显著的特性是就是实现动画,而且它支持隐式动画和显式动画两种形式,本篇我们主要从隐式动画说起;
梧雨北辰
2019/04/25
4.9K0
iOS动画-CALayer隐式动画原理与特性
导航栏搜索框简单封装
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
星宇大前端
2019/10/25
1.3K0
iOS 面试策略之系统框架-UIKit
本章节主要从视图、网络、设计模式几个方面考察开发者的开发水准,这是任何一个合格的 iOS 开发者都应该具备的基本素养。
会写bug的程序员
2021/05/13
1.7K0
iOS 面试策略之系统框架-UIKit
相关推荐
YYText源码解读-YYText同步/异步渲染流程(一)—UIView与CALayer
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档