CoreAnimation

控制器的View的颜色

吃可爱长大的小学妹 提交于 2020-12-03 07:43:50
我们新建一个控制器,其view的颜色是怎样的呢?透明的?白色的?黑色的?~ 首先来聊聊alpha,我以如下两种alpha作为对比来聊。 一个是UIView的alpha: UIView *fatherView = [[ UIView alloc ] initWithFrame : CGRectMake ( 10 , 10 , 100 , 100 )]; fatherView. alpha = 1 ; 其定义如下: @property ( nonatomic ) CGFloat alpha; // animatable. default is 1.0 还有一种是颜色的alpha,应用如下: + ( UIColor *)colorWithRed:( CGFloat )red green:( CGFloat )green blue:( CGFloat )blue alpha:( CGFloat )alpha; UIView的alpha值会影响到UIView及其所有的subView alpha 是指不透明度,是浮点类型的值,取值范围是0到1.0,表示从完全透明到完全不透明。UIView的alpha值会影响到其所有的subView 。 如下面代码: - ( void )viewDidLoad { [ super viewDidLoad ]; self . view .

iOS 渲染原理解析

て烟熏妆下的殇ゞ 提交于 2020-08-14 05:22:47
Python实战社群 Java实战社群 长按识别下方二维码, 按需求添加 扫码关注添加客服 进Python社群▲ 扫码关注添加客服 进Java社群 ▲ 作者丨Rickey 来源丨一瓜技术(tech_gua) 0. 本文知识目录 1. 计算机渲染原理 CPU 与 GPU 的架构 对于现代计算机系统,简单来说可以大概视作三层架构:硬件、操作系统与进程。对于移动端来说,进程就是 app,而 CPU 与 GPU 是硬件层面的重要组成部分。CPU 与 GPU 提供了计算能力,通过操作系统被 app 调用。 CPU(Central Processing Unit) :现代计算机整个系统的运算核心、控制核心。 GPU(Graphics Processing Unit) :可进行绘图运算工作的专用微处理器,是连接计算机和显示终端的纽带。 CPU 和 GPU 其设计目标就是不同的,它们分别针对了两种不同的应用场景。CPU 是运算核心与控制核心,需要有很强的运算通用性,兼容各种数据类型,同时也需要能处理大量不同的跳转、中断等指令,因此 CPU 的内部结构更为复杂。而 GPU 则面对的是类型统一、更加单纯的运算,也不需要处理复杂的指令,但也肩负着更大的运算任务。 因此,CPU 与 GPU 的架构也不同。因为 CPU 面临的情况更加复杂,因此从上图中也可以看出,CPU 拥有更多的缓存空间 Cache

如何为约束更改设置动画?

坚强是说给别人听的谎言 提交于 2020-08-10 19:31:35
问题: I'm updating an old app with an AdBannerView and when there is no ad, it slides off screen. 我正在使用 AdBannerView 更新一个旧应用,当没有广告时,它会滑出屏幕。 When there is an ad it slides on screen. 出现广告时,它会在屏幕上滑动。 Basic stuff. 基本的东西。 Old style, I set the frame in an animation block. 旧样式,我将帧设置在动画块中。 New style, I have a IBOutlet to the auto-layout constraint which determines the Y position, in this case it's distance from the bottom of the superview, and modify the constant: 新样式,我对自动布局约束有一个 IBOutlet ,它确定Y位置,在这种情况下,它是距父视图底部的距离,并修改常量: - (void)moveBannerOffScreen { [UIView animateWithDuration:5 animations:^{

iOS Rendering 渲染全解析(长文干货)

丶灬走出姿态 提交于 2020-08-06 13:24:45
希望通过这篇文章从头到尾梳理一下 iOS 中涉及到渲染原理相关的内容,会先从计算机渲染原理讲起,慢慢说道 iOS 的渲染原理和框架,最后再深入探讨一下离屏渲染。 希望能对大家有点帮助~ 1. 计算机渲染原理 CPU 与 GPU 的架构 对于现代计算机系统,简单来说可以大概视作三层架构:硬件、操作系统与进程。对于移动端来说,进程就是 app,而 CPU 与 GPU 是硬件层面的重要组成部分。CPU 与 GPU 提供了计算能力,通过操作系统被 app 调用。 CPU(Central Processing Unit) :现代计算机整个系统的运算核心、控制核心。 GPU(Graphics Processing Unit) :可进行绘图运算工作的专用微处理器,是连接计算机和显示终端的纽带。 CPU 和 GPU 其设计目标就是不同的,它们分别针对了两种不同的应用场景。CPU 是运算核心与控制核心,需要有很强的运算通用性,兼容各种数据类型,同时也需要能处理大量不同的跳转、中断等指令,因此 CPU 的内部结构更为复杂。而 GPU 则面对的是类型统一、更加单纯的运算,也不需要处理复杂的指令,但也肩负着更大的运算任务。 因此,CPU 与 GPU 的架构也不同。因为 CPU 面临的情况更加复杂,因此从上图中也可以看出,CPU 拥有更多的缓存空间 Cache 以及复杂的控制单元,计算能力并不是 CPU

200道iOS面试题面试题整理,底层、技术亮点公司需要的这里都有

瘦欲@ 提交于 2020-05-08 17:21:47
100家知名企业今年来iOS面试题合集: 你要的这里都有; 企业要的这里也有; 从基础开始到进阶、深入底层 整理出188个面试题,全是干货 目录展示: 1、swift和oc的区别 2、编译链接 3、synthesize & denamic 4、在项目开发中常用的开发工具有哪些? 5、UITableView & UICollection 6、NSProxy & NSObject 7、Object & Swift 8、传值通知 & 推送通知(本地&远程) 9、第三方库 & 第三方平台 10、NSCache & NSDcitionary 11、 UIView的setNeedsDisplay和setNeedsLayout方法 12、UILayer & UIView 13、layoutSubViews & drawRects 14、UDID & UUID 15、CPU & GPU 16、点(pt)& 像素(px) 17、属性与成员变量 18、int和NSInteger的区别 (1)import和include (2)@class (3)全局 & 静态变量 19、类和对象 (1)分类拓展协议中哪些可以声明属性? (2)继承和类别的区别 (3)分类的作用 (4)分类的局限性 20、category & extension 21、Foundation (1)字符串 (2)字符串截取 (3)格式

iOS开发CoreAnimation解读之四——Layer层动画内容

六月ゝ 毕业季﹏ 提交于 2020-04-10 07:46:12
iOS开发CoreAnimation解读之四——Layer层动画内容 一、引言 通过前几篇博客的介绍,我们可以了解到layer层可以设置许多与控件UI相关的属性,并且对于iOS开发,UIView层的属性是会映射到CALayer的,因此,可以通过UIKit和CoreAnimation两个框架来设置控件的UI相关属性,当属性发生变化时,我们可以使其展示一个动画效果。 二、CAAnimation动画体系的介绍 CAAnimation是CoreAnimation框架中执行动画对象的基类,下面有一张图,是我手画的,不太美观,但是可以将与CAAnimation相关的几个动画类的关系表达清楚: 从上图中可以看到,从CAAnimation中继承出三个子类,分别是用于创建属性动画的CAPropertyAnimation,创建转场动画的CATransition和创建组合动画的CAAnimationGroup。 我们就先从根类开始探讨。 1.CAAnimation属性和方法 CAAnimation作为动画对象的基类,其中封装了动画的基础属性,如下: //通过类方法创建一个CAAnimation对象 + (instancetype)animation; //动画执行的时序模式 @property(nullable, strong) CAMediaTimingFunction *timingFunction

iOS开发CoreAnimation解读之一——初识CoreAnimation核心动画编程

[亡魂溺海] 提交于 2020-04-10 00:06:52
iOS开发CoreAnimation解读之一——初识CoreAnimation核心动画编程 一、引言 众所周知,绚丽动画效果是iOS系统的一大特点,通过UIView层封装的动画,基本已经可以满足我们应用开发的所有需求,但若需要更加自由的控制动画的展示,我们就需要使用CoreAnimation框架中的一些类与方法。这里先附上前几篇与动画相关的博客地址,这一系列,我们抽出其中的CoreAnimation框架来详细解读。 UIViewAnimation动画的使用: http://my.oschina.net/u/2340880/blog/484457 UIView动画执行的另一种方式: http://my.oschina.net/u/2340880/blog/484538 UIView转场动画: http://my.oschina.net/u/2340880/blog/484669 CoreAnimation隐式动画的应用: http://my.oschina.net/u/2340880/blog/484793 粒子效果的使用: http://my.oschina.net/u/2340880/blog/485095 二、初识CoreAnimation CoreAnimation框架是基于OpenGL与CoreGraphics图像处理框架的一个跨平台的动画框架。简单来说

Kite Compositor for Mac(优秀的动画和原型设计工具) 2.0.2

匆匆过客 提交于 2020-03-13 19:28:30
[名称]:Kite Compositor for Mac [大小]: 35.58 MB [语言]:英文 [测试环境]: Mac OS 10.15.x [下载链接]: https://www.macdown.com/mac/366.html Kite Compositor for mac 将最独特的mac以及ios的动画效果和原型可以直接拖拽图层来进行复杂的结构操作,Kite compositor mac破解版随时通过控制台进行实时编辑提箱,随时提供脚本和java来进行视图的导入和切换,绝对是最佳的图形原型处理神器. 软件特色 kite Compositor 让你可以直观地拖拽图层,在WYSIWYG画布上构建复杂的界面。添加动画,并在集成的时间轴上调整它们。使用内置的JavaScript脚本环境来增强每个交互的细节。结合自定义逻辑和行为来实现您所需要的。 时间线 -集成的智能时间线允许你拖拽和编辑动画的持续时间和关键帧。快速的动画开始和结束的时候,为了一个精确的,手工的感觉。 检查器 -一个强大而强大的对象检查器允许您只需几次点击就可以编辑所有图层的属性。设置颜色,一个动画曲线,添加CoreImage过滤器-所有的点击鼠标。 库 -拖放层和来自库的动画,以可视化的方式构建你的界面。将可重用的层层次结构保存到您的库中,以便轻松地进行组件重用。 Mac设计iOS视图

iOS头条新闻App、自动布局、省市区联动、登录按钮动画、Alert弹框效果等源码

亡梦爱人 提交于 2019-12-12 15:59:55
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> iOS精选源码 LEEAlert -- 优雅的Alert ActionSheet 登录按钮 省市区三级联动 JHViewCorner - 一行代码搞定圆角 JHFrameLayout - 一行代码实现自动布局 MVVM+Masonry+UITableView+FDTemplateLayoutCell自适应行高 xx头条【完整项目持续迭代中】(一款本地生活信息发布APP... oc实现的比较通用的聊天界面 JHInputLimit - 一套友好的输入限制方案 轻量级UILabel分段点击扩展更新啦 iOS优质博客 iOS性能监控及优化 我在开发iOS的过程中,逐渐形成了一些对iOS性能优化的认识,准备总结出来。恳请各位斧正。在我的眼中,app的性能就像是app运行开发中的货币。我们开发者就像一个组织者,手机本身的性能就是可以提供给我们的演出费用,手机版本就像舞台。出现了新的可以增加性能的技术的时候,我们就要想办法多弄点钱;有些演员价钱过高,我们要考虑... 阅读原文 iOS 图像渲染原理 图形渲染技术栈下图所示为 iOS App 的图形渲染技术栈,App 使用 Core Graphics、Core Animation、Core Image 等框架来绘制可视化内容,这些软件框架相互之间也有着依赖关系

核心动画CoreAnimation

家住魔仙堡 提交于 2019-12-05 03:35:23
核心动画CoreAnimation 基本动画:CABasicAnimation 帧动画:CAKeyframeAnimation 组动画:CAAnimationGroup CoreAnimation时直接作用在CALayer上的,并非UIView。 CABasicAnimation:平移,旋转,缩放 CAKeyframeAnimation:按路径移动 若想将关键帧动画中的路径绘制出来,创建一个继承自UIView的子类,与self.view关联,在子类UIView中的drawRect方法中绘制。 一、基本动画的创建步骤: 创建基本动画对象,设置动画的属性(value,duration),将动画添加到要作用layer。 动画完成后默认会回到初始位置,此时若想layer定在动画完成时的位置,需要设置动画完成后不删除且修改fillMode为kCAFillModeForwards。 注意: 如果fillMode=kCAFillModeForwards和removedOnCompletion=NO,那么在动画执行完毕后,图层会保持显示动画执行后的状态。但在实质上,图层的属性值还是动画执行前的初始值,并没有真正被改变。比如,CALayer的position初始值为(0,0),CABasicAnimation的fromValue为(10,10),toValue为(100,100)