Layout动画的更多使用

准备 下拉动画 登录按钮动画 尾言 不得不说,单单是文章的标题,可能不足以说明本文的内容。因此,在继续讲述约束动画之前,我先放上本文要实现的动画效果。 约束动画并不是非常复杂的技巧,在你熟练使用约束之后,你总能创建些独具匠心的动画。在上一篇autolayout动画初体验中,我们根据监听列表视图的滚动偏移来不断改变约束值,从而制作出动画的效果。但上个动画的实现更像是我们制作了一帧帧连续的界面从而达成动画的效果 —— 这未免太过繁杂。而在本文我们将抛弃这种繁杂的方式,通过调用UIView的重绘制视图方法来实现动画。 本文的动画主要存在这么几个: 账户纪录列表的弹出和收回 登录按钮的点击形变 登录按钮被点击后的转圈动画(不做详细讲述) 实际上...
Click to read more ...

Layout动画初体验

关于约束 动画分析 准备工作 动画制作 尾言 约束动画的文章要比预计的迟迟来临,最大的原因是没有找到我认为的足够好的动画来讲解约束动画 —— 当然了,这并不是因为约束动画太难。相反,因为约束动画实在太简单了,反而没有足够多的简单动画素材让我选用。下面这个动画取自于朋友公司的app,我仿做了一个,作为今天的demo,具体效果如下: 关于约束 在这一小节我会简单的介绍一下约束的用法,如果您已经在使用storyboard进行开发了,那么可以跳过这一节。 假设现在有这么一个需求,你需要将文章显示在界面的中间位置,大致是左右空30pt、上方间隔20pt,效果图如下: 你满心不在意的想这个任务多简单啊,于是挥洒的写下了这么一段代码: self.textV...
Click to read more ...

Transform和KeyFrame动画

transform动画 keyframe动画 尾言 追求美好是人的天性,这是猿们无法避免的。我们总是追求更为酷炫的实现,如果足够仔细,我们不难发现一个好的动画通过步骤分解后本质上不过是一个个简单的动画实现,正是这些基本的动画在经过合理的搭配组合后化腐朽为神奇,令人惊艳。因此,掌握最基本的动画是完成酷炫开发之旅的根本。 作为动画篇的第二篇文章,我在从UIView动画说起简单介绍了关于UIView的几种基本动画,这几种动画的搭配让我们的登录界面富有灵性生动,但是这几种动画总是无法满足我们对于动画的需求。同样的,本文将从一个小demo开始讲解强大的transform动画以及关键帧keyFrame动画。] 可以看到两个动画:叶子被风吹落以及左边的文字从summer变化...
Click to read more ...

从UIView动画说起

从登录动画说起 可实现动画的属性 坐标尺寸类 视图显示类 形态变化类 动画参数 弹簧动画 最后 毋庸置疑的:在iOS开发中,制作动画效果是最让开发者享受的环节之一。一个设计严谨、精细的动画效果能给用户耳目一新的效果,吸引他们的眼光 —— 这对于app而言是非常重要的。 本文作为动画文集的第一篇,最开始是想做个qq下拉刷新的水滴动画的制作讲解,但这几天研读《iOS Animations by Tutorials》一书,对iOS动画开发有了更为深刻的了解,于是决定动画篇将从UIView动画开始讲起,以后还会有Layer、Transitioning等在内的动画,希望本文能抛砖引玉,带给大家不一样的理解,下...
Click to read more ...

属性与变量

property和ivar 属性的内存结构与@synthesize 应用 runtime简称运行时,就是在程序运行时的一些机制,在iOS开发中runtime的特性使得oc这门语言具有独特的魅力。 对于C、C++来说,在程序编译运行时,类对象能调用哪些方法,能进行什么操作,都被决定好了。而runtime机制让oc能在运行时动态的创建类、黑盒测试、扩展属性等等,极大的提高了语言的灵活性。今天结合runtime的一些机制来谈谈oc的属性和变量。(这是我关于runtime机制的开篇,若文中提及的某些知识点有什么不同的意见,欢迎在评论中与我一同探讨) property和ivar 首先要确定的是,属性(property)和成员变量(ivar)它们是不同的东西,在oc中它们的区...
Click to read more ...

KVO的奥秘

使用 苹果的黑魔法 怎么实现类似效果 尾言 在iOS开发中,苹果提供了许多机制给我们进行回调。KVO(key-value-observing)是一种十分有趣的回调机制,在某个对象注册监听者后,在被监听的对象发生改变时,对象会发送一个通知给监听者,以便监听者执行回调操作。最常见的KVO运用是监听scrollView的contentOffset属性,来完成用户滚动时动态改变某些控件的属性实现效果,包括渐变导航栏、下拉刷新控件等效果。 使用 KVO的使用非常简单,拿上面的渐变导航栏做,我们为tableView添加了一个监听者controller,在我们滑动列表的时候,会计算当前列表的滚动偏移量,然后改变导航栏的背景色透明度。 //添加监听者 [self.tab...
Click to read more ...

侧滑界面的小实验

解决思路 在keyWindow上实现 在tabBarController上实现 解决方法 其他 简单说,这段时间开发的时候有个业务需要用侧滑菜单来实现。博主当时的第一反应是上网找轮子直接使用,然而,事情总是出乎意料的。使用网上的开源轮子之后,我在点击tabBarController的切换控制器时,却意外的crash了。 什么鬼!待博主看完源码,发现找到的轮子几乎都是将我们当前要显示的主界面view以及侧边栏的view加到轮子的view上,然后设置轮子为rootViewController进行管理。因此,当博主将tabBarController作为侧滑功能的mainController的时候,虽然自己...
Click to read more ...