《Motion Design for iOS》(十四)

开始iOS开发

如果你已经踏入原生iOS app开发之中,你可以跳过这一节去看Core Animation入门。但如果你刚开始iOS app的开发,抓住其基本就很重要,这样你就可以完全理解事物工作的原理。

Xcode

Xcode是Mac和iOS开发者用来创建原生应用的IDE(集成开发环境)。它不仅仅是一个像你可能用过的Sublime Text之类的代码编辑器,它是设计、编程、测试、调试和分发Mac和iOS应用的整个一套功能。有一些编写Mac和iOS app的替代方式,但是大部分的开发者都使用Xcode。要开始接下来的编程实例,你需要有从Mac App Store上下载的最近版本的Xcode。

iOS模拟器

iOS模拟器让你可以在你的Mac上测试你的iOS app,其提供一个窗口让它看起来像是你正在iPhone或者iPad上运行它们。如果你安装了最新版本的Xcode,它会包含iOS模拟器而且可以模拟所有当前的(以及大部分以前的)iOS设备,例如iPhone 4、5、6、6Plus、iPad、iPad retina、iPad mini等等。因为新iPhone的真实分辨率太高了,在第一次运行模拟器的时候你可能会惊讶,因为窗口非常巨大,可能会超过你屏幕的顶部和底部!幸运的是你可以在一个小一些的尺寸上显示模拟器窗口这样就方便看一些。重要的是要记住模拟器不是测试你app的完美方式,唯一获取性能和app感觉的方式是在你的设备上运行它,你可以在Xcode开着的时候将设备连接Mac,跟随指令在你的手机上运行它。

Objective-C

Objective-C是一种编程语言,于1980年代首次出现,并作为编写NeXT计算机的主要语言受到欢迎。当苹果公司买下NeXT后,他们使用了NeXTSTEP操作系统下的技术并用它创建了Mac OS X,从此Mac app和iOS app都使用Objective-C开发。 苹果公司使用Objective-C编写OS X和iOS的所有软件。在最近几年,苹果公司作出了显著的改善让Objective-C更适合新的程序员。

Swift

在2014年夏天的苹果开发者大会,苹果公司宣布他们正在致力于一种新的编程语言,名为Swift,此语言从Objective-C、Rust、Haskell、Ruby、Python和其他语言中获取灵感,创建出他们称为“不要C的Objective-C”的语言。Swift被设计为和已经存在的Cocoa和Cocoa Touch框架协作(苹果公司提供给开发者来创建应用的API库)而且可以和Objective-C在同一个app中共存,但不能在同一个源代码文件中。部分的WWDC app是用Swift编写的,但苹果仍未任何完全用Swift编写的主要软件。当2014年九月初发布iOS 8时,苹果宣布Swift发布了1.0版本并可以安全地使用于发布到App Store的app中。

我对于Objective-C和Swift的立场是:Swift太新了,而且在走向黄金时代生产app开发前依然有问题需要解决。然而,它的语法比起Objective-C无处不在的的方括号[和],看起来和JavaScript更为接近,因此它对新的iOS开发者更为诱人。我依然使用Objective-C编写我的app,但随着时间流逝,我会至少在新的工程中部分使用Swift。我对Swift中的一些Objective-C没有的高级语言特性非常期待。本书中的全部动画示例代码都会有Objective-C和Swift两种编写方式,因此你可以理解和观察其区别并自行选择哪一种语言对你的使用更有意义。

如果Objective-C对你来说是全新的,我推荐你阅读我对Objective-C的介绍以及Big Nerd Ranch的Objective-C Programming book。如果Swift对你来说是全新的(除了苹果公司以外每个人都是这样!)你应该看看iBooks上500页的Swift Programming Language 指南,这是免费的。在苹果开发者中心也有一个非常好的Swift引导

现在你队iOS开发工具和语言都有了一些接触,让我们开始一些关于iOS app界面是如何创建的以及让它们显示在屏幕上的过程的细节。



查看完整合集:https://github.com/Cloudox/Motion-Design-for-iOS

版权所有:http://blog.csdn.net/cloudox_

长期致力于iOS英文资料翻译

觉得有帮助的可以打赏支持一下小弟~

时间: 2024-10-05 06:47:54

《Motion Design for iOS》(十四)的相关文章

Motion Design for iOS

Book Description Motion Design for iOS is a first-of-its-kind guide that explains how to both design & build wonderful, immersive animations for iOS. Learn about the history of animation and motion, the basic principles of engaging animation design i

《Motion Design for iOS》(四十六(最终章))

所以你应该使用哪个动画框架呢? 我们讨论了iOS7的弹簧动画.JNWSpringAnimation和Facebook的Pop,很自然的你会想知道该使用哪个动画框架.有一个我不是仅仅选一个动画框架并单独专注于它的原因,我想要提供一个大的关于你可以构建动画和iOS原生界面的不同方式的概览. 在我的app中,我倾向于根据不同的目的对三种框架都进行使用.如果我只是非常简单地淡出一个视图,我们直接使用基于block的UIView动画,因为它们的代码很少.如果我在做一个指数延迟类型的动画(缓慢.平稳地移动到

《Motion Design for iOS》(四十二)

构建立即响应的按钮 你玩过Loren Brichter的游戏Letterpress吗?我很喜欢的Loren构建的一个关于界面的东西可能不是每个人都明显喜欢的:我喜欢每个按钮在用户按下时立即切换到一个不同的状态的样子.绝对不会延迟.这不是一个简单实现的行为,因为即使你可以将一个图片设为UIButton的UIControlStateHighlighted状态图,它也只会在点击发生后一小会启动,而且它不允许更进一步的代码来运行它.如果我想要在用户点击一个UIButton后立即运行一个动画,我就不得不自

《Motion Design for iOS》(二十四)

我大部分展示的比例变更动画,但这不意味着你不能动画layer的更多属性!这里就是使用JNWSpringAnimation来使用弹簧动作旋转一个layer的示例. JNWSpringAnimation *scale = [JNWSpringAnimation animationWithKeyPath:@"transform.rotation"]; scale.damping = 10; scale.stiffness = 100; scale.mass = 3; scale.fromVa

《Motion Design for iOS》(四十五)

我们现在还剩两个动画,但它们比较大,需要一些思考.我们需要将顶部的线顺时针旋转45度(所以右边向下倾斜),然后我们需要底部的线逆时针旋转45度(所以右边向上倾斜).逆时针旋转意味着我们需要旋转一个负值,所以是-45度.当然了,动画不会接受度数值,它们需要角度值,45度在角度上是π/4.来做一些旋转动画. // 旋转顶部的线来构成X POPSpringAnimation *topRotate = [self.top.layer pop_animationForKey:@"topRotate&quo

《Motion Design for iOS》(四十四)

我们现在真正想做的是让线动画交叉变成X.所以让我们进入我们的 didTapHamburgerButton: 方法,我们每次点击这个按钮都会调用它,来看一看我们要做什么. - (void)didTapHamburgerButton:(id)sender { if (self.hamburgerOpen) { self.hamburgerOpen = NO; // 添加把X变回三条线的动画 } else { self.hamburgerOpen = YES; // 添加把三条线变成X的动画 } }

《Motion Design for iOS》(四十)

让我们看一些简单的Pop动画时如何工作的. // 添加我们的红球到界面上 UIView *redBall = [[UIView alloc] initWithFrame:CGRectMake(300, 300, 75, 75)]; redBall.backgroundColor = [UIColor redColor]; redBall.layer.cornerRadius = 75/2; // Half the width [self.window addSubview:redBall]; P

《Motion Design for iOS》(三十四)

构建Jakub Antalik的音乐播放器 Jakub是斯洛伐克的一名出色的设计师,已经设计了一些经常发布到Dtibbble去的非常有创造力的界面.其中一个作品非常打动我,那是一个很有趣的例子,证明了界面上每次操作一个元素的断断续续的动画是如何抓住用户的眼球的.在本指南的早期我展示了一个他设计的音乐播放器,含有一些很酷的内置动画,这里我们再看一下. 所以这里他明显使用到的技术是什么?他操纵了动画的开始时间.通过让每个元素比另一个元素慢一点动画到屏幕上的位置,并按照行的顺序操作屏幕上的每一个元素,

《Motion Design for iOS》(四十一)

就如JNWSpringAnimation一样,你可以调整想要模仿的弹簧动作的属性.这里是上个例子中相关的部分. scale.springBounciness = 20.0f; // Between 0-20 scale.springSpeed = 1.0f; // Between 0-20 Pop允许你调整弹簧的弹性和速度.每个值都可以从0到20.就如iOS 7中基于block的弹簧动画一样,这些值都是算入弹簧动作方程式的真实值的一个抽象.而不同于iOS 7的是,我认为Pop在抽象这些值时做的很