一个隐藏的动画曲线

摘要 本文从代码的角度探讨了 iOS 键盘弹出的动画曲线的一些特点,并给出了精确模拟这个动画曲线的方法。同时也介绍了如何逐帧分解 iOS 动画,以及如何通过数据集拟合 Bezeir 曲线的控制点(Control Point)。 一个隐藏的参数 好看的曲线 图中第一个动画有一个很好看的动画曲线,看起来很有灵性。这条动画曲线不是 iOS 中默认的那四种,也不是其他常见的曲线。它是 iOS 中一个隐藏的动画参数,没有囊括在 UIViewAnimationCurve 中。 这条曲线并不陌生,它被键盘弹出动画所采用。在实现输入框与键盘同步弹出的场景里,我们会监听键盘弹出的通知。系统在...

Run Mario!写一个越狱插件

摘要 本文记叙了制作一个越狱插件的过程,它可以解除 SuperMarioRun 在越狱手机上的限制。(SuperMarioRun 是任天堂在 iOS 平台上推出的一款游戏)。插件可以通过 Cydia 安装(搜索 RunMario)。 故事 春节假期玩了很久的 SuperMarioRun,当得到了前三关的全部九个金币后,终于下决心买了后面的世界,玩得津津有味。 前几日发现 iOS 10.2 可以越狱了,作为一个开发者,迫不及待地越狱了自己的手机。越狱后打开 Mario,竟然发现了启动闪退(启动画面之后就立刻退出了)。不禁职业性地感叹,作为一个大厂,产品就这个质量?? 重试了几...

我们为什么要使用 Swift

Overview Swift 是苹果 2014 年推出的语言,首先应用于 mac 和 iOS 平台的开发,并且于 2015 年底开源,推出了 Linux 版本。它集合了许多编程语言最新的研究成果1,并且借鉴了 Objective-C, Rust, Haskell, Ruby, Python, C#, CLU 等语言2。 Swift 是一个多范式(Multi-paradigm)的编程语言。它基本涵盖了函数式编程(Functional Programming)语言和面向对象编程语言的所有特性。可以进行函数式编程,或者 Protocol-Oriented Programming 等,而不...

色彩的模型

阅读讲解色彩的美术类书籍的时候,总觉得说得不够明白。什么是纯度、明度,两者不是正交基吗,为什么图上不画出纯度和明度都为最大值的点?为什么存在那么多色彩模型,它们的依据是什么? 作为一个理科生,我需要色彩的数学解释。这种解释可以以一种很精确的方式理解色彩,而且可以为色彩使用做出指导。就像牛顿可以解释小车在力的作用下为什么会如此运动,而且可以预言(在理想情况下)任意时间的任意状态。 我相信色彩是可以计算出来的。和谐的配色一定在数学上存在某种规律1。只靠感觉会太原始和不精确了,是我不能理解的玄学。当然,这里并没有探讨到艺术的层面,就像相对于和弦音,非和弦音也有它自己的意义。 本文试图在「...

我为什么写博客

我为什么写博客 It’s something cool 对,我觉得写博客很 Cool,尤其是有这样一个自己的网站。 偶然间发现了 Melodie 同学的博客,简洁的设计和深入思考的文字令我很崇拜,所以有了建立自己博客的念头。虽然全民博客的时代早已经过去,但博客本身却仍是网络中信息的一种基础的组织形式。随意的碎片化的东西被卷入了社交网络,剩下有价值的东西,变成每天无数次 google 的结果中的部分条目。那些厉害的人把自己的见解与总结写下来,与大家分享。 写作可以促进思考 思考是我们常常挂在嘴边却实际上没几个人真正做到的一件事;多数情况下我们持有的某些观点只是环境所灌输的,我...