代码改变世界

随笔档案-2016年05月

App启动加载广告页面思路

2016-05-23 15:34 by JG2014, 2657 阅读, 收藏,
摘要: 需求 很多app(如淘宝、美团等)在启动图加载完毕后,还会显示几秒的广告,一般都有个跳过按钮可以跳过这个广告,有的app在点击广告页之后还会进入一个广告页面,点击返回进入首页。今天我们就来开发一个广告页面,效果如下。 效果图.gif 效果图.gif 思路 1.广告页加载思路。广告页的内容要实时显示, 阅读全文

关于CoreData和SQLite多线程访问时的线程安全问题

2016-05-20 11:13 by JG2014, 486 阅读, 收藏,
摘要: 数据库读取操作一般都是多线程访问的。在对数据进行读取时,我们要保证其当前状态不能被修改,即读取时加锁,否则就会出现数据错误混乱。IOS中常用的两种数据持久化存储方式:CoreData和SQLite,两者都需要设置线程安全,在这里以FMDB来解释对SQLite的线程安全访问。 一:FMDB的线程安全: 阅读全文

CABasicAnimation精讲

2016-05-03 15:03 by JG2014, 708 阅读, 收藏,
摘要: 前言 本教程写了这个效果图的demo,同时总结CABasicAnimation的使用方法。 看完gif动画完,看到了什么?平移、旋转、缩放、闪烁、路径动画。 实现平移动画 实现平移动画,我们可以通过transform.translation或者水平transform.translation.x或者垂 阅读全文

CAAnimation解读

2016-05-03 15:00 by JG2014, 648 阅读, 收藏,
摘要: 序言 CAAnimation是一个抽象类,遵循了CAMediaTiming协议和CAAction协议!我们不要直接使用CAAnimation类,而是使用其子类: CATransition:提供渐变效果,如推拉push效果,消退fade效果,揭开reveal效果 CAAnimationGroup:允许 阅读全文

iOS CAShapeLayer精讲

2016-05-03 14:59 by JG2014, 354 阅读, 收藏,
摘要: 前言 CAShapeLayer继承自CALayer,因此,可使用CALayer的所有属性。但是,CAShapeLayer需要和贝塞尔曲线配合使用才有意义。 关于UIBezierPath,请阅读文章:iOS UIBezierPth精讲 基本知识 看看官方说明: 1 2 3 4 5 6 7 8 9 /* 阅读全文

UIBezierPath精讲

2016-05-03 11:13 by JG2014, 248 阅读, 收藏,
摘要: 前言 笔者在写本篇文章之前,也没有系统学习过贝塞尔曲线,只是曾经某一次的需求需要使用到,才临时百度看了一看而且使用最基本的功能。现在总算有时间停下来好好研究研究这个神奇而伟大的贝塞尔先生! 笔者在学习时,首先看了两遍UIBezierPath类头文件定义,熟悉了一下相关的属性和方法。 基础知识 使用U 阅读全文

CALayer精讲

2016-05-03 11:12 by JG2014, 322 阅读, 收藏,
摘要: 前言 CALayer包含在QuartzCore框架中,这是一个跨平台的框架,既可以用在iOS中又可以用在Mac OS X中。后面要学Core Animation就应该先学好Layer(层)。 我们看一下UIView与Layer之间的关系图(图片来源于网络): 我们知道,UIView有一个属性laye 阅读全文