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

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

iOS动画开发之四——核心动画编程(CoreAnimation) 一、引言         前几篇博客详细介绍了有关UIView层的动画使用与相关的效果,然而这些动画是UIKit为我们封装好的核心动画层的方法...你可能很少听说他,可是他却无处不在,在iOS的UI开发中,任何一个View包括继承于UIView的子类上面都会有一个Layer,可以理解为Layer为单独的一层,专门负责视图的显示,而view除此之外更多负责触摸时间等逻辑处理...这样的立体效果是否已经很酷了?NO,在加上动画才对。...三、CoreAnimation的使用 1、基础属性相关的动画CABasicAnimation CABasicAnimation是核心动画中对属性操作需要用到了一个动画类,示例如下:     CALayer...    layer.opacity=0;//透明度改变时执行动画动作 通过上面的示例,我们可以发现,layer的属性都可以来进行动画动作,这样,我们对动画的操作就自由的很多。

59720

【CSS】599- 9个很棒的CSS边框技巧

如果您是前端开发人员,那么几乎每天都会使用CSS边框。我发现了一些可以在您的项目中使用的有用的技巧。 开始吧! 1. 动画CSS边框 当我们想使我们的项目更可见时,该怎么办? 来给它做个动画!...我们可以对我们的边框进行动画化处理,甚至在不改变元素大小的情况下也可以进行动画化处理,非常简单。...要做到这一点,我们只需要为动画创建一个自定义的关键帧(keyframe),并在元素的CSS代码中的动画(animation)参数中使用它。...你是否曾经尝试在div周围添加3d样式边框?...希望你喜欢,希望这几个想法对你有用。 随意对其进行测试,实验,并在评论中显示你发现使边框有所不同的想法。

2.3K10
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    iOS图形处理概论:OpenGL ES,Metal,Core Graphics,Core Image,GPUImage,Scene Kit (3D) ,Sprite Kit (2D),OpenCV

    界面图形框架 -- UIKit UIKit UIKit是一组Objective-C API,为线条图形、Quartz图像和颜色操作提供Objective-C 封装,并提供2D绘制、图像处理及用户接口级别的动画...OpenGL 在 iOS 上是私有框架,而 Core Image (使用了 OpenGL) 对这样的任务来说既不够强大又不够灵活。 6....适合图片的苹果滤镜框架 -- Core Image Core Image 是 iOS5 新加入到 iOS 平台的一个图像处理框架,提供了强大高效的图像处理功能, 用来对基于像素的图像进行操作与分析, 内置了很多强大的滤镜...CIFilter 表示应用的滤镜,这个框架中对图片属性进行细节处理的类。它对所有的像素进行操作,用一些键-值设置来决定具体操作的程度。...使用 C++ API 并不是绝大多数 iOS 开发者每天都做的事,你需要使用 Objective-C++ 文件来调用 OpenCV 的函数。

    3.6K41

    自定义一个浮层弹窗视图

    早在2017年年初,我就用七八篇文章的篇幅系统介绍过Objective-C中的CoreAnimation框架。...CoreAnimation是iOS中实现动画的框架,整个iOS中的动画(比如UIView中封装的动画、UIViewController切换时的转场动画、UITableViewCell移除增添时的动画等,...(7_0); @end 上面的代码展示了UIView动画的相关接口,它能够实现我们日常开发中80%以上的动画效果,可以处理frame、alpha、transform等,但是UIView的内置动画是不能自定义中间状态的...写在最后 UIKit框架中各组件自带的各种动画效果,实际上都是对CoreAnimation这个框架中相关接口的封装。...关于CoreAnimation,我之前写过一系列的文章,在这里罗列一下: 通过重写drawRect方法在UIView中进行绘图 通过重写drawLayer:InContext:方法在CALayer中进行绘图

    1.4K30

    求职笔记-iOS篇

    3、如何对真机的crash日志进行分析? 4、对RunLoop的理解? 5、对象回收时Weak指针自动被置为nil的实现原理? 6、常见的持久化实现方法?...,再由NotificationCenter转发出去,耦合性较低,适合登录、等级变化、监听全局的某个属性变化; Objective-C消息机制的原理 先介绍Objective-C的类结构: @interface...(), 动画过程中的当前值 渲染树/显示树(下一帧) :图层和动画打包提交到渲染服务后反序列化所得树,被用于生成gl三角形 常见的动画方式: UIView blockAnimation CAAnimation...控制帧动画的帧率,避免动画的绘制速率超过帧率; ?...,再进行发言等级控制等; 消息合并,对同类型的消息进行合并; 代码方向: 富文本根据消息内容进行拼接后缓存; 高度在计算过一次之后,同样缓存;(boundingRectWithSize 可以提前计算出高度

    1.2K60

    AirBnb 开源动画引擎 Lottie:采用 Core Animation 提高性能

    Lottie 中的动画是通过 JSON 文件描述的,可以使用 Bodymovin 插件从 After Effects 中导出。...Lottie 将对 JSON 进行解码,并访问渲染动画所需的所有资源,就像它只是应用程序中的另一个静态资源一样。...在 Lottie 4.0 中,AirBnb 放弃了使用 CADisplayLink 在主 CPU 线程上制作图形动画的原始方法: 每帧一次,Lottie 将在主线程上执行代码,以推进动画的进度并重新渲染其内容...例如,Airbnb 应用程序在首次启动时显示 Lottie 动画。我们在这里进行了一项实验,发现切换到新的渲染引擎可以缩短应用程序的总启动时间,同时还可以提高启动动画的帧速和用户体验。...Lottie 最初是用 Objective-C 编写的,两年前在 Swift 中被完全重写,最终发布了第 3 版。

    2K20

    最优秀的开源库之GPUImage

    前言 近期想了解一下 IOS 下是如何进行音视频采集和渲染的。在学习一门新的知识时,很多人都有自己的学习方法,有的是买书学习,有的是看论坛等等不一而终。...GPUImage GPUImage是一个BSD许可的IOS库,它使用GPU加速对图像,实时视频和电影做美颜,灰度等各种特效。在大规模并行运算处理图像或实时视频时,GPU相对于CPU有显著的性能优势。...在iPhone4上,一个简单的图像过滤器在GPU上执行的速度比CPU的过滤器快100倍以上。然而,在GPU上运行自定义过滤器需要大量处理OpenGL ES相关的代码。...GPUImage总体结构 GPUImage使用OpenGL ES 2着色器进行图像和视频处理速度远远超过基于CPU程序做的。而且它提供了简化的Objective-C接口,隐藏了OpenGL复杂的交互。...GPUImageMovie: 电影 图片或帧上传到OpengGL ES后做为纹理,然后将这些纹理传递给处理链中的下一个对象。

    1K20

    Core Animation总结

    很重要的原因是要将职责分离,这样可以避免很多重复的代码,由于iOS平台和MacOS平台上用户的交互方式有着本质的不同,在iOS系统中我们使用的是UIKit和UIView,而在MacOS系统中我们使用的是...border的大小((图形周围边框,border默认为黑色)) 任意数值 contents 改变layer内容(图片)注意如果想要达到改变内容的动画效果;首先在运行动画之前定义好layer的contents...CAKeyframeAnimation属性 说明 values 关键帧值表示动画必须执行的值,此属性中的值仅在path属性的值为nil时才使用。...如果指定此属性的值,则忽略值属性中的任何数据 keyTimes keyTimes的值与values中的值一一对应指定关键帧在动画中的时间点,取值范围为0,1。...这些通知是进行与动画相关的任何内务处理任务的好时机。例如,您可以使用开始通知来设置一些相关的状态信息,并使用相应的结束通知来拆除该状态。

    1.3K10

    唐巧的iOS技术博客选摘

    本文从swift语言入手分析,元组,函数,闭包等的设计对它进行解释,并阐释swift语言设计的大局观,最后分享一个Reactive Cocoa作者的Talk中的编程思想。...《刨根问底Objective-C Runtime(1)- Self & Super》:本文通过分析clang重写的Objective-C源码,从而解释Objective-C中的self和super在编译器层面分别是如何处理的...《如何自己动手实现 KVO》:KVO 是 Objective-C 对观察者模式(Observer Pattern)的实现。也是 Cocoa Binding 的基础。...《轻松学习 Objective-C 消息转发》:作者在文章中通过一个小例子来讲解什么是消息转发,以及如何消息转发,希望看完这篇文章时大家会彻底的明白 OC 的消息转发机制。...具体做法上,文章分享了使用 final 关键字,使用 private 关键字,以及使用 Whole Module Optimization 编译参数来进行深度优化。

    3.3K60

    Kite Compositor for Mac(动画和原型设计工具)

    Mac上优秀的动画和原型设计工具——Kite Compositor 。此工具可用于为MacOS或iOS应用制作动画效果和原型,可让你可视化地拖拽图层,在WYSIWYG画布上构建复杂的界面。...使用JavaScript脚本环境可以增强每个环节,集合自定义逻辑和行为来实现你需要的一切。...1.路径编辑使用钢笔工具,您可以在画布上直接编辑动画路径和形状图层。2.演示视图在演示文稿播放模式下全屏显示您的设计。或者,在迭代时选择自己的演示窗口大小。...3.生成本机核心动画代码为动画生成零依赖 Swift或Objective-C代码代码兼容iOS和Mac不再猜测某些东西应该移动的速度,它应该增长到多大,或者如何在关键帧之间缓和4.自适应接口可以扩展和简单的...,功能强大的接口,满足您的需要和手头的任务。

    49920

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

    iOS学习——Quartz2D学习之UIKit绘制 1、总述   在IOS中绘图技术主要包括:UIKit、Quartz 2D、Core Animation和OpenGL ES。...它是高级别的图形接口,它的API都是基于Objective-C的。它能够访问绘图、动画、字体、图片等内容。 Quartz 2D。是IOS和Mac OS X环境下的2D绘图引擎。...在绘制发生的时候如果使用的是系统提供的视图,绘制工作会自动得到处理。然而,如果是自定义视图,则必须重写drawRect:方法,在此提供相应的绘制代码。...一旦drawRect:方法被调用,就可以使用任何的UIKit、Quartz 2D、OpenGL ES等技术对视图的内容进行绘制了。   ...drawInRect:(CGRect *)rect:在指定的rect区域内绘制整张图片,图片会按照指定区域的宽高进行缩放,所以这种方式一定可以显示完整的图片,但是会进行一些缩放。

    1.5K20

    iOS学习——UIView的研究

    在iOS开发中,我们知道有一个共同的基类——NSObject,但是对于界面视图而言,UIView是非常重要的一个类,UIView是很多视图控件的基类,因此,对于UIView的学习闲的非常有必要。...在iOS学习——iOS 整体框架及类继承框架图中列出了iOS中所有类的继承框架图,其中下面这张图就是iOS开发中的界面相关类的继承框架图。 ?...),主要提供7个类方法直接用block添加动画,根据需要选择不同的类方法进行相关参数的设定 视图关键帧动画相关的扩展 UIView (UIViewKeyframeAnimations) ,主要提供两个类方法进行关键帧动画的设定...*/ 280 - (nullable __kindof UIView *)viewWithTag:(NSInteger)tag; 281 282 /** 对现在有布局有调整更改后,使用这个方法进行更新...方法,在可以这里进行绘图操作。

    2.8K80

    ios知识架构

    本文是以最新上市的ios10 为依据的。 一、ios总体知识架构 要全面掌握ios开发技术,需要学习和掌握下列几方面的知识和技巧: 1.开发语言:Objective-C或Swift。...二、ios特色关键知识点 下列知识点大部分是ios特有的,在iOS 开发中起着非常重要的作用,需要仔细学习领会。...具体各Framework的功能和分类见下表: 表1:iOS Framework 分类和简述 综上所述,ios开发最基础的就是Objective-C或Swift语言、Foundation和UIKit框架中的基本内容及...Xcode的简单使用;进一步就是数据库、网络、图形动画、音视频、系统安全和ios专用业务接口(如地图、加速器、健康、语音识别、Web.....)的调用和多线程的使用,此时对Xcode使用会增加单元测试、...性能调优、Bug追踪等高级功能;最终达到能使用低层的Framework或动态库优化硬件性能或灵活处理复杂业务的目标。

    56930

    iOS开发常用之摄像照相视频音频处理

    SCRecorder - 酷似Instagram / Vine的音频/视频摄像记录器,以Objective-C为基础的过滤器框架。你可以做很多如下的操作:记录多个视频录像片段。...删除任何你不想要的记录段。可以使用任何视频播放器播放片段。保存的记录可以在序列化的NSDictionary中使用。(在NSUserDefaults的中操作)添加使用Core Image的视频滤波器。...VideoBeautify - 功能酷似美拍,秒拍等应用的源码:对视频进行各种美化处理,采用主题形式进行分类,内含各种滤镜,动画特效和音效等。...HTY360Player - 一款提供在iOS中使用360度无死角拖拽视频进行不同角度播放的视频播放器。...iFrameExtractor - 开源视频播放器,ffmpeg在iOS的使用-iFrameExtractor源码解析,文章。

    2.8K51

    Core Animation Programming

    它包括了图形绘制,投影,动画的Object-C 类集合.它通过我们iOS开发熟悉的应用程序套件与CocoaTouch 视图架构的抽象分层模式,提供了一套非常流畅的动画的接口出来....一旦动画配置完成并启动,核心动画就能独立并完全控制相应的动画帧. 提高应用性能.应用程序只有当发生改变的时候才会重绘内容....What's UIView在iOS开发中,这个使用频率非常高的控件,同时在iOS 所有原生的视图都是由UIView派生而来....实际上,这背后的关联的图层才是真正用来在屏幕上显示和做动画的.UIView 就是对CALayer图层的封装,提供用户交互接口....图层不能处理触摸事件,同样也要视图不能做的事情: 阴影,圆角,颜色边框 3D变换 非矩形范围 透明遮罩 多级非线性动画 CALayer's function 除了CALayer 类,CoreAnimation

    1.1K10
    领券