Canoe

理解iCloud同步

以上是苹果官方文档中对于iCloud的一段说明。 iCloud是苹果提供的一种数据存储同步方案,每个使用apple id登录,每个用户默认的iCloud存储空间有5G,由所有的程序之间共享,iCloud可以存储任意的文件,字符串,文档等数据。对于用......

项目警告处理

今天不经意一看,项目中有上千个警告了,虽然没有强迫症,但是看着也是觉得不舒服,刚好手头上的活不多,干脆就清理一下,记录一下过程。 消除警告 在清理之前,在网上查找资料发现有几种通用的方式消除警告。 全......

iOS11适配以及Xcode9实用新特性

本篇文章是基于我自己的项目在更新iOS11时遇到的一些问题总结的,可能不会考虑到所有的变化,会在一段时间内补充和完善。 iOS11适配UITableView 的新特性 在iOS11中默认启用self-Sizing,Self-Sizing在iOS11下是默认开启的,Headers, footers, 和 cells都默认开启Self-Sizing,所......

基础部分(Swift笔记)

常量和变量 如果你的代码中有不需要改变的值,请使用let关键字将它声明为常量。只将需要改变的值声明为变量。 let maximumNumberOfLoginAttempts = 10 var currentLoginAttempt = 0 快速定义多个相同类型变量 var red,green,blue: Double 注释 //这是一个注释 这是一个, 多行注释 /......

iOS核心动画实践十(基于定时器的动画)

上一节我们能够通过修改贝塞尔曲线来控制动画的速率,但是如果我们想要更加真实的模拟物理交互或者实时根据用户输入修改动画该怎么办?这时候我们就可以用到基于定时器的动画。 定时帧NSTimer 之前我们是按......

iOS核心动画实践九(缓冲)

缓冲实际上是为了让CoreAnimation看起来更加自然和流畅,而不是机械和僵硬。 动画速度 动画实际上就是一段时间内的变化,这意味着变化是随着某个特定的速率进行的,速率由以下公式计算而来: velocity = change / time CAMediaTimingFunction 我们通过改变CAAnimation......

iOS核心动画实践八(图层时间)

这一部分主要是学习图层动画时间的控制。 CAMediaTiming协议 CAMediaTiming协议定义了在一段动画内用来控制逝去时间的属性的集合,CALayer和CAAnimation都实现了这个协议,所以时间可以被任意基于一个图层或者一段动画的类控制。 协议内部属......

iOS核心动画实践七(显式动画)

基础动画 CABasicAnimation继承于CAPropertyAnimation,CAPropertyAnimation继承于CAAnimation。 CAAnimation: * 计时函数 * delegate * removedOnCompletion CAPropertyAnimation: CAAnimation * keyPath CABasicAnimation : CAPropertyAnimation * fromValue 动画开始前属性的值 * toValue 动画结束之后的值 * byValue 动画执行过程中改变的值 需要注意的是,只需要指定toValue或者byValue就可以了,不需要两个都设置 关键帧动画......