CoreAnimation

iOS火焰动画效果、图文混排框架、StackView效果、偏好设置、底部手势等源码

情到浓时终转凉″ 提交于 2019-12-04 15:04:19
iOS精选源码 高性能图文混排框架,构架顺滑的iOS应用。 使用OpenGLE覆盖阿尔法通道视频动画播放器视图。 可选最大日期截至当日日期的日期轮选器ChooseDatePicker 简单轻量的图片浏览器YCPhotoBrower 使用偏好设置、属性列表、归档解档保存数据、恢复数据 页面底部手势交互滚动UITableView 使用CoreAnimation来模拟iOS中的StackView。 盒子可以更具长宽高变化的动画 iOS优质博客 iOS导航栏使用总结 目录:一、设置导航栏样式二、自定义导航栏返回按钮后侧滑不可用问题三、隐藏导航栏底部的分割线四、导航栏引起的布局问题一、设置导航栏样式设置导航栏的样式可分为全局设置与局部设置;1.全局设置全局设置一般的都是在AppDelegate中设置,这样整个app都会生效,相关的代码与效果图如下:123456789101112131... 阅读原文 iOS重做轮子,写一个NSDictionary 从排序说起一种很棒的排序算法,木桶排序(计数排序)。算法如下,比如需要排序。按木桶排序,我们要准备好10个桶,比如我们建立一个数组a = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0,} 0代表没使用。我们依次扫描 1 9 3 7 ,遇到1 ,赋值a = 1 // 1代表这个桶使用了遇到9 ,赋值a = ... 阅读原文

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

别来无恙 提交于 2019-11-30 12:35:33
iOS动画开发之四——核心动画编程(CoreAnimation) 一、引言 前几篇博客详细介绍了有关UIView层的动画使用与相关的效果,然而这些动画是UIKit为我们封装好的核心动画层的方法,通过这些方法,我们可以用的更加简便,当然功能也十分强大,基本能达到我们项目的大多需求。但是如果你想更加自由的通过动画操作视图的属性,你就需要跳过UIKit的封装,使用CoreAnimation核心动画层的方法来实现动画。 二、开始前的准备 1、认识一个的朋友 在开始介绍核心动画的内容前,我们需要先搞明白一个东西:Layer。你可能很少听说他,可是他却无处不在,在iOS的UI开发中,任何一个View包括继承于UIView的子类上面都会有一个Layer,可以理解为Layer为单独的一层,专门负责视图的显示,而view除此之外更多负责触摸时间等逻辑处理。因此,iOS也将所有动画的操作都交给你Layer来负责。 2、Layer层可以做到的事 Layer如此神秘,那他究竟可以做到哪些事?他确实可以做很多view做不了的事情. (1)设置view的圆角属性 view = [[UIView alloc]initWithFrame:CGRectMake(100, 100, 100, 100)]; [self.view addSubview:view]; view.backgroundColor=

iOS核心动画笔记7-隐式动画

こ雲淡風輕ζ 提交于 2019-11-30 12:34:30
隐式动画 1. 事务 Core Animation 基于一个假说, 屏幕上任何东西都可以(或者可能)做动画. 动画并不需要再Core Animation中手动打开, 相反的需要明确的关闭, 否则将一直存在. 当改变CALayer的一个可做动画的属性, 改变并不会立刻在屏幕上体现出来, 它会从从前的值平滑的过渡到新的值. 这一切都是默认的行为, 不需要我们做任何操作. 这就是隐式动画. 我们并不需要指定动画类型, 仅仅改变一个属性, 然后Core Animation会决定如何并且何时去做动画. 实际上, 当改变一个属性, 动画执行时间取决于当前事务的设置, 动画类型取决于图层的行为. 事务是Core Animation用来包含一系列属性动画集合的机制, 任何用指定事务去改变可以做动画的图层的属性都不会立刻发生改变, 而是当事务提交的时候, 开始一个动画过度到新的值. 事务是通过CATransaction类来管理的, 这个类管理了一叠不能访问的事务, 没有属性和实例方法, 并且不能alloc, init创建它, 但是可以用+begin, +commit分别来入栈和出栈. 任何可以做动画的图层属性都会被添加到栈顶的事务, 可以通过 +setAnimationDuration: 设置当前事务的动画时间, 或者 +animationDuration 来获取值. Core