[翻译] Canvas 不用写代码的动画
Canvas 不用写代码的动画
https://github.com/CanvasPod/Canvas
Canvas is a project to simplify iOS development for both designers and developers. It had been difficult for designers to get hands on building the product with the lack of objective-c and Xcode experience, and a hard time for developer to use reasonable amount of time and lines of code just to achieve really simple effects.
With Canvas, creating stunning animations requires zero lines of code, trendy effects like the Parallax headers, Sticky sections, Blurred Backgrounds, will be as simple as few lines of code changes.
Canvas 是一个用来简化 iOS 设计的项目。对于初级开发者而言,如果连 Xcode 都用不顺手,甚至为了实现一个效果需要写好多好多的代码而苦逼。
使用 Canvas ,创建一个动画效果只需要一行代码,那些时髦的效果诸如视差、不动的区域、模糊化的背景,这些只需要几行代码。
Demo App
The demo app in this project uses CocoaPods, please run pod install
after you download this project, then open Canvas.xcworkspace
.
demo 使用的 CocoaPods,在下载这个应用之前,请先运行 pod install,之后再打开 Canvas.xcworkspace。
See this screencast in action:
Unable to build demo?
If you're getting some errors like Accelerate.framework not include, please update your CocoaPods version:
$ [sudo] gem install cocoapods
We also have a live demo avaliable at homepage.
如果编译时提示了你有些错误如 Accelerate.framework not include ,请更新你的 CocoaPods 的版本:
Getting Started
If you're already on CocoaPods, installing our library is easy:
如果你已经有 CocoaPods 了,安装我们的库将会很容易:
$ edit Podfile
platform :ios, '7.0'
pod 'Canvas', '~> 0.1'
Make sure you also update the dependencies by running this command afterwards:
确保你更新了依赖哦:
pod install
Then you should now have the Xcode workspace (.xcworkspace
) ready.
现在你应该已经有工程文件了。
$open App.xcworkspace
That's it and you are good to go! See our blog posts for hands on tutorial.
你可以在我们博客上看手把手教的教程。
How to Use
Using Interface Builder (no code required)
Specify the class CSAnimationView
, and configurate the runtime attributes duration
, delay
, and type
.
Please also get started with our more detailed explaination on what Canvas can do.
指定这个 CSAnimationView,配置运行时的参数 duration,delay,以及 type。
你也可以从我们这个有着更多解释信息的项目demo中着手。
Using Code
It's very similar to using Interface Builder, instead you just setup the custom view in code.
与使用 IB 很类似,你也可以用几行代码来搞定。
CSAnimationView *animationView = [[CSAnimationView alloc] initWithFrame:CGRectMake(0, 0, 100, 100)]; animationView.backgroundColor = [UIColor whiteColor]; animationView.duration = 0.5;
animationView.delay = 0;
animationView.type = CSAnimationTypeMorph; [self.view addSubview:animationView]; // Add your subviews into animationView
// [animationView addSubview:<#(UIView *)#>] // Kick start the animation immediately
[animationView startCanvasAnimation];
Requirements
iOS 7, Xcode 5
Who's behind?
[翻译] Canvas 不用写代码的动画的更多相关文章
- 推荐一款最强Python自动化神器!再也不用写代码了!
本文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,如有问题请及时联系我们以作处理 搞过自动化测试的小伙伴,相信都知道,在Web自动化测试中,有一款自动化测试神器工具: seleniu ...
- 不用写代码就能实现深度学习?手把手教你用英伟达 DIGITS 解决图像分类问题
2006年,机器学习界泰斗Hinton,在Science上发表了一篇使用深度神经网络进行维数约简的论文 ,自此,神经网络再次走进人们的视野,进而引发了一场深度学习革命.深度学习之所以如此受关注,是因为 ...
- 不用写代码也能做表单 —— 加载meta即可
做增删改查要写多少代码? 一个表单一套代码,十个表单十套代码吗? 我这么懒,怎么会写这么多代码? 我想做到:即使一百个表单也只需要一套代码(而且不需要复制粘贴).实现多个表单,只需要加载不同的meta ...
- 不用写代码的框架 - RobotFramework+Eclispe环境安装篇
环境安装是学习任何一个新东西的第一步,这一步没走舒坦,那后面就没有心情走下去了. 引用名句:工欲善其事必先利其器!! Robotframework:一款 自动化测试框架. Eclipse:一款编辑工具 ...
- sailsjs 不用写代码就能生成rest api 代码
1. 脚手架安装 npm install sails -g 2. 生成基本项目 a. 项目 sails new appdemo b. 创建api sails new api demoapi a ...
- 瞧一瞧,看一看呐,用MVC+EF快速弄出一个CRUD,一行代码都不用写,真的一行代码都不用写!!!!
瞧一瞧,看一看呐用MVC+EF快速弄出一个CRUD,一行代码都不用写,真的一行代码都不用写!!!! 现在要写的呢就是,用MVC和EF弄出一个CRUD四个页面和一个列表页面的一个快速DEMO,当然是在不 ...
- 使用 .NET WinForm 开发所见即所得的 IDE 开发环境,实现不写代码直接生成应用程序
直接切入正题,这是我09年到11年左右业余时间编写的项目,最初的想法很简单,做一个能拖拖拽拽就直接生成应用程序的工具,不用写代码,把能想到的业务操作全部封装起来,通过配置的方式把这些业务操作组织起来运 ...
- 文档驱动 —— 表单组件(五):基于Ant Design Vue 的表单控件的demo,再也不需要写代码了。
源码 https://github.com/naturefwvue/nf-vue3-ant 特点 只需要更改meta,既可以切换表单 可以统一修改样式,统一升级,以最小的代价,应对UI的升级.切换,应 ...
- html5 canvas首屏自适应背景动画循环效果代码
模板描述:html5 canvas首屏自适应背景动画循环效果代码 由于动态图太大,怕以后服务器受不了,所以现在都改为静态图了,大家点击演示地址一样的,希望大家喜欢,你们的支持就是小海的动力!! 欢迎大 ...
随机推荐
- 在JAVA中生成RSA秘钥对实现SSH互信
https://blog.csdn.net/u014196729/article/details/51496262 https://blog.csdn.net/u013066244/article/d ...
- JavaScript“并非”一切皆对象
上一篇:<函数声明和函数表达式--函数声明和函数表达式的异同> p{font-size:14px; } 写在前面 网上非常多都在说"JavaScript一切皆对象",那 ...
- 【58沈剑架构系列】lvs为何不能完全替代DNS轮询
上一篇文章“一分钟了解负载均衡的一切”引起了不少同学的关注,评论中大家争论的比较多的一个技术点是接入层负载均衡技术,部分同学持这样的观点: 1)nginx前端加入lvs和keepalived可以替代“ ...
- LoadRunner常用函数汇总
LoadRunner命令汇总 . 命令行分析函数 (1)lr_get_attrib_double() 检索脚本命令行中使用的double类型变量 (2)lr_get_attrib_string() 检 ...
- php、mysql编译配置
与apache一起使用: Configure Command => './configure' '--prefix=/home/sujunjie/local/php' '--with-apx ...
- list 移除值
1. 移除基本类型值时,传入int 会以下标为依据移除 , 但传入Integer 对象时,则是移除对象为依据移除(即不受此对象代表的值相等的下标的影响) 都是只能移除一个值,(list 中有多个1时, ...
- CodeForcs 797E Array Queries
$dp$预处理,暴力. 如果$k > sqrt(n)$,那么答案不会超过$sqrt(n)$,暴力模拟即可.如果$k <= sqrt(n)$,那么可以$dp$预处理打表. #include ...
- Poj1741/洛谷P4718 Tree(点分治)
题面 有多组数据:Poj 无多组数据:洛谷 题解 点分治板子题,\(calc\)的时候搞一个\(two\ pointers\)扫一下统计答案就行了. #include <cmath> #i ...
- 在phpWeChat里生成一个临时二维码(非微信二维码)
phpWeChat作为支持Pc+H5开发的管理系统,内置一套二维码生成API,访问地址: 您的域名/api/qrcode/index.php?data=二维码数据 以下为使用示例 使用时有一点需要注意 ...
- shell kill session
ps -ef | grep java kill -9 pid