iOS 开发之 Block

关于 Block 在 iOS4.0之 后,block 横空出世,它本身封装了一段代码并将这段代码当做变量,通过 block() 的方式进行回调。这不免让我们想到在C函数中,我们可以定义一个指向函数的指针并且调用: bool executeSomeTask(void) { ......

iOS 内存管理

什么是自动引用计数(ARC) 在 Objective-C 中采用 Automatic Reference Counting (ARC) 机制,让编译器来进行内存管理。在新一代 Apple LLVM 编译器中设置ARC为有效状态,就无需再次键入retain或者release代码,......

Swift CoreAnimation:CATransition 转场动画

CATransition 同 CoreAnimation 核心动画中 CABasicAnimation 等相关类的使用方法类似。主要分为三个步骤: (1)实例化 CATransition,并设置相应的转场动画 key。 (2)设置合适的转场动画属性,比如动画时间、过渡方向、动画保......

iOS 开发之 Widget 的实现

添加 Today Extension 工程 在原有的项目基础上,想要使用 Today Extension,即 Widget。我们需要创建一个新的 target,点击File-->New-->Target-->Today Extention,如下图所示: 创......

Swift Animation 3D动画

锚点的基本概念 要想实现一些复杂的 3D 动画,首先要先搞清楚锚点的概念。AnchorPoint 是一个 CGPoint 类型的值,该值指定了一个基于 bounds 的坐标系位置。也就是说锚点指定了 bounds 相对于 position 的值,同时也是变化时候的中心点。 一般情......

Swift Animation 内容层动画(四)

CAShapeLayer 打造动态图表 CAShapeLayer 追本溯源 CAShapeLayer 是 QuartzCore 框架下非常重要的一个类,利用它可以实现各种图形的绘制类动画效果。 CAShapeLayer 是 iOS 框架下的核心动画部分,Shape 为形状的意思,......

Swift Animation 内容层动画(三)

CAEmitterCell 粒子动画 在 iOS 系统中,粒子系统有2部分组成:CAEmitterLayer 和 CAEmitterCell。 (1)CAEmitterLayer 为粒子发射图层。该图层主要用于控制粒子展现范围、粒子发射位置、粒子发射形状、渲染模式等属性。通过 ......

Swift Animation 登录按钮动画

登录按钮的水纹动画 当点击登录按钮时,会以点击点为圆心形成水纹扩散。扩散形状为圆形,扩散颜色为粉色,在扩散过程中按钮的状态为不可点击。 水纹动画拆解为以下5个功能模块 UIButton 坐标获取 Draw 圆形绘制 定时器刷新 其他模块 调用模块 创建基于 UIButton......

Swift Animation 内容层动画(二)

CAkeyframeAnimation 是 CAlayer 层下的关键帧动画类,利用该类可以实现类似 UIView 的关键帧动画效果。 CAkeyframeAnimation 是 CApropertyAnimation 的一个子类,与 CABasicAnimation 原理类似,......

Swift Animation 内容层动画(一)

CAlayer 层动画 先初始化一个按钮 loginButton = UIButton(frame: CGRect(x: 20, y: 230, width: self.view.frame.width-20*2,height: 50)) loginButton!.backgro......