图层几何学与几何变换

2016-12-06
阅读 5 分钟
3.3k
CALayer基础介绍完成后,我们已经能过实现很多的基本的视觉效果了,但是这些效果都还是静态的远远没有动画交互带来的那种体验。动画效果的实现的基本原理就是:对平移、缩放、旋转等几何变化进行组合然后设定一个动画持续时间,然后系统就会帮我们实现这些动画帧。本文将会介绍哪些iOS中动画涉及到的几何学概念和原理。

CALayer基础

2016-12-06
阅读 3 分钟
2.4k
上一篇文章中初步介绍了Core Animation框架,从中我们能发现图层树是其中的最基础和核心的概念。那么本文将会介绍最基础的CALayer,通过其中的一些基本属性实现基础的视觉效果。

Core Animation基础

2016-12-05
阅读 2 分钟
2.8k
Core Animation是iOS动画实现的基础框架,它负责实现视图和其他可见元素的动画效果。Core Animation框架本身并不会进行图形的绘制工作,它的核心是通过CALayer对象来管理视图中展现的内容。CALayer会将可是内容缓存为bitmap然后将剩余的绘制工作交给图形硬件。

如何使用HTML模版和iOS中的UIPrintPageRenderer来生成PDF文档

2016-08-21
阅读 19 分钟
3.8k
虽然使用提问的方式作为文章开头有点不按套路出牌,但是这些问题就是本文要讨论的重点。在app中创建PDF文档,看起来就是一条布满坑的路,但是事实上可能并没有那么恐怖。作为开发者,在面对困难的时候我们总是需要一些替换方案,避免一条道走到黑。手动生成PDF页面确实是一个非常痛苦的过程(取决于文档的内容)并且最终...

通过Swift语言来使用HealthKit中的睡眠分析功能

2016-07-31
阅读 6 分钟
3.6k
当今关于睡眠革命的话题的讨论非常热烈,人们也比以往任何时候都更加的好奇。他们关心的内容不仅有在什么时候他们睡着了,还有那些通过分析过去一段时间以来自身睡眠数据所揭示出来的睡眠趋势。随着包括硬件等技术的进步,尤其是智能手机的普及将这个看似正在不断升温的话题带到了一个全新的境界。

Swift函数编程之Map、Filter、Reduce

2016-06-07
阅读 3 分钟
4.5k
在Swift语言中使用Map、Filter、Reduce对Array、Dictionary等集合类型(collection type)进行操作可能对一部分人来说还不是那么的习惯。对于没有接触过函数式编程的开发者来说,对集合类型中的数据进行处理的时候第一反应可能就是采用for in遍历。本文将介绍一些Swift中可以采用的新方法。

使用视图控制器的切换创建下拉菜单栏

2016-05-03
阅读 8 分钟
4.9k
导航是用户交互的一个重要组成部分,有很多种方式提供一个菜单栏让用户来自由切换想访问的功能。在之前的教程中我们介绍了其中的一种就是侧滑栏。下拉菜单则是另一种常用的菜单设计。当用户点击菜单按键的是时候主屏幕中下拉显示出菜单选项。如果你不知道下拉菜单是如何实现的话,不需要忧虑。继续阅读文章马上你就能看...

使用Quick Look框架对文件进行预览

2016-04-26
阅读 11 分钟
7.5k
在iOS SDK中你能找到一些不知名但是却非常有用的框架。其中的大多数都能给开发者带来便利节约开发时间。 Quick Look Framework就是这些不知名的框架中的一个,即使你之前没有使用过该框架,你也能从框架的名字中了解一二。该框架为app提供文件的预览功能。和大多数人一样,我也是在第一次需要使用到该框架的时候才了解它...

MVVM架构的Swift版本的知乎日报

2016-04-12
阅读 9 分钟
5.6k
在自学了Objective-C和Swift基本的语法知识后,也看了不少有益的博客文章和示例代码。在这个阶段中我主要的学习过程就是跟着文章中内容一步步来练习,但是这些文章大部分都是关于某一个特定的知识点或者内容。为了检查自己的学习情况以及提高对于各部分内容的理解,我决定参照别人的代码自己动手写个完整功能的App。

Swift中的Selector

2016-04-05
阅读 2 分钟
4.4k
Selector作为一个在很多Objective-C设计模式中的重要组成部分,Swift为了保证部分接口的一致性依然保留了这一概念。这篇文章时我在学习这部分内容时的遇到问题的一些总结。

使用SwiftyDB来管理SQLite数据库

2016-03-23
阅读 23 分钟
4.8k
在开发应用的时候选择一种方式长久的存储数据是一件很必要的事情。这里有很多的方法可供开发者选择:创建一个文件、使用CoreData或者SQLite数据库。使用最后一种方法的话可能会有一些麻烦,因为在应用使用数据库之前,我们先要创建一个数据库、所有的数据表和字段。而且,从开发者的角度来说,对一个SQLite中的数据进行...

使用Realm和Swift编写一个ToDo应用

2016-03-11
阅读 13 分钟
6.2k
在去年智能手机的大更新之后,很多工具也同时被开发出来了。这些工具让我们开发者发布一个高性能、高质量的应用的变的更加简单了。在应用商店获得高排名以及不再很容易。而且让应用更容易拓展也是很困难的一件事。当你的应用成功的拥有百万级别的用户的时候,你需要注意应用中的所有事情以及所有操作。因此,现在每个开...

Xcode7中使用Swift进行单元测试

2016-03-02
阅读 5 分钟
3.6k
对于每一个iOS程序员来说都不可避免的需要对自己的应用进行调试。除非你是一个不世出的编程天才,不然由于没有进行调试而导致了一个简单的语法错误,并为之花费数小时去修复查找的时候你一定是绝望而崩溃的。甚至可能会更糟,你永远的都没有发现那个bug。无论你是刚刚入门的菜鸟还是老司机,定期进行单元测试会让你的代...

如何使用iOS9中的Core Spotlight框架

2016-02-27
阅读 12 分钟
4.8k
伴随这每一个iOS新版本的发布,苹果公司都会为全球的开发者带来新的“好东西”,以及对于原有功能的持续改进。是在最新的版本iOS9中,苹果不仅依旧保留了这个传统,再次为我们提供了新的框架和API接口。利用这些新特性,开发者可以将他们的应用程序提高到一个更高的水平上。Core Spotlight框架就是这其中之一,该框架包含...

Swift编写自己的API客户端

2016-02-24
阅读 5 分钟
3.5k
就像很多iOS开发者一样,我也使用AFNetworking类库来处理所有的网络操作(在Swift中与之对应的是Alamofire)。并且因为这些类库的存在开发者会觉得这意味着自己做类似的工作是困难或者昂贵的。在以前确实是这样的!在iOS6和之前版本中NSURLConnetion执行或者封装成一个便于使用、节约时间的类库是很痛苦的过程。

Swift: CGRect, CGSize & CGPoint

2016-02-23
阅读 3 分钟
3k
当我第一次决定完全使用Swift语言以来,已经快有8个月了。在这段时间里我慢慢的在Swift语言中停止使用一些Objective-C风格的代码方式,转而适应和使用新语言中的一些特性。

Swift 中的 7 个陷阱以及如何避免

2016-02-04
阅读 9 分钟
4.7k
伴随着Swift语言的快速发展,我们对于苹果设备编程的认识也发生着变化。与原来的Objective-C语言相比,Swift语言带来的更多现代化的特征,例如函数式编程和更多的类型检查。

Swift中的ARC相关

2016-01-26
阅读 4 分钟
3.3k
当我们选择这条职业道路的时候,不可避免的我们都要内存管理打交道。无论是C中的malloc、free还是C++中的new、delete。它如此重要又如此麻烦易错。为了把大家从内存管理解脱出来,C++中引入了智能指针,iOS中引入了ARC(automatic reference counting),其实两种的原理都是一样的就是对动态分配的对象进行自动引用技术确...

Swift中的柯里化Currying

2016-01-20
阅读 4 分钟
6.4k
引子:在上一篇文章中,我们使用到了"Curry"。如果你看了这个框架的源代码的话,可能有点犯晕(有可能只有我一个人这样,大家都是大神)。这篇文章就是关于这个“柯里化”的内容,参考了库作者的博客以及喵神的 tips 和Ole Begemann的文章。顺便说一句喵神出书,可以去支持一下。

一步步创建自己的iOS框架

2016-01-18
阅读 7 分钟
15k
如果你曾经试图去创建一个自己的iOS框架的话,你应该知道这件事并不是那些畏惧困难的人能够成功完成的-毕竟管理依赖和编写测试并不容易。这篇文章将从开始到最终完成一步步的进行讲解,以便你掌握后可以更好的创建自己的框架。

Delegates vs Observers

2016-01-16
阅读 3 分钟
2.4k
一个结构良好的优秀app应用,必然包含一些功能职责定义良好并且协作高效的简单对象。当设计一个对象的时候,你一般都会仔细思考对象的属性和它的行为,但是设计对象之间的沟通协作的设计同样重要。

LeetCode题解:Add Two Numbers

2015-11-11
阅读 2 分钟
3.1k
说明:本人不是什么算法高手,部分内容参考了Google、stackoverflow、segmentfault中得到的一些解答或者代码。之所以去做Leetcode上的题是因为毕业工作后对算法有了新的认知。工作时发现虽然不是所有的算法都用得到,有些算法也已经封装好了只需要调用API就可以了。但是在有些时候当你不得不自己写算法的时候,你就会发...

LeetCode题解:twoSum

2015-11-11
阅读 3 分钟
2.3k
说明:本人不是什么算法高手,部分内容参考了Google、stackoverflow、segmentfault中得到的一些解答或者代码。之所以去做Leetcode上的题是因为毕业工作后对算法有了新的认知。工作时发现虽然不是所有的算法都用得到,有些算法也已经封装好了只需要调用API就可以了。但是在有些时候当你不得不自己写算法的时候,你就会发...

IOS编程第四版中 scheduleLocalNotification 不通知的坑

2015-11-02
阅读 2 分钟
6.6k
准备换个开发方向,花了血本买了台mbp。跟着Big Nerd Ranch 出版社的ios编程第四版,发现这本书采用的xcode和sdk太老,导致很多坑。不过新版好像12月份要出来了,亚马逊上可以预定。接下来我把我在第六章遇到的坑内容记录一下,希望也能帮到其他人。

django1.8下的markdown、highlight、pagedown解决

2015-10-31
阅读 4 分钟
7.4k
在看完python3的基本与法后,为了巩固自己对语言的掌握就使用django1.8写了个人博客的小程序。在对博客文章进行markdown处理的时候遇到了几个问题,希望这篇文章能够帮助到其他人。