[翻译] SCViewShaker
SCViewShaker

https://github.com/rFlex/SCViewShaker


About
A highly configurable UIView category for shaking a view. You start shaking your views with a one liner :). It supports a few different shaking styles (horizontal, vertical, rotate) and let you configure the duration, the speed and the shake strength.
一个关于view的category,可以高度定制.只需要一行代码就可以让你的view振动起来.它支持几种振动的样式,可以让你设置振动间隔时间,振动速度以及振动的强度.
Usage
SCViewShaker works as a category on UIView. It provides the following methods:
SCViewShaker以UIView的category的方式运行,提供了以下几个方法:
- (void)shake; - (void)shakeWithOptions:(SCShakeOptions)shakeOptions force:(CGFloat)force duration:(CGFloat)duration iterationDuration:(CGFloat)iterationDuration completionHandler:(ShakeCompletionHandler)completionHandler - (void)endShake @property (readonly, nonatomic) BOOL isShaking
shake does a small shake on the view for a short amount of time. It was added as a convenience method.
shake方法会让view振动几次后就停止,是一个便利的方法.
shakeWithOptions:force:duration:iterationDuration:completionHandler: performs a new shake action with the complete control on how the shake will be done. It takes the follow parameters:
shakeWithOptions:force:duration:iterationDuration:completionHandler:执行了一系列的可以设置的振动的动作,它有着如下的一些参数:
shakeOptions is an enum of options that can be activated by using the OR operator (like SCShakeOptionsDirectionRotate | SCShakeOptionsForceInterpolationNone).
shakeOptions是一个枚举值选项,可以用或语句的方式组织参数.
force is the coefficient of force to apply on each shake iteration (typically between 0 and 1 even though nothing prevents you for setting a higher value if you want).
force是一个振动幅度的参数.
duration is the total duration of the shaking motion. This may be ignored depending of the options you set. iterationDuration is how long each shake iteration will last. You may want to set a very low value (like 0.02) if you want a proper shake effect.
duration是所有振动动作的间隔时间,这个参数有可能因为shakeOptions参数的设置而失效.iterationDuration表示的是每一个振动能持续的时间.你也许需要设置一个很小的值(如0.02)才能达到一种好的振动效果.
completionHandler, if not null, is the block that will be invoked when the shake finishes.
completionHandler,如果设置为null,这是一个block,在振动结束后会被调用.
Simple example
UIView *view = ...; // Grab a view from somewhere
[view beginShakingWithOptions:SCShakeOptionsDirectionRotate | SCShakeOptionsForceInterpolationExpDown | SCShakeOptionsAtEndRestart | SCShakeOptionsAutoreverse force:0.15 duration:1 iterationDuration:0.03 completionHandler:nil];
Options
Direction
The direction affects the visual effect of the shake effect. All value bounds shown here are based on a force of 1.
方向影响视觉上的振动效果.所有的参数都是基于强度1来计算的.
SCShakeOptionsDirectionRotate: The view will rotate from -90° to 90°. 这个view会从-90°到90°旋转
SCShakeOptionsDirectionHorizontal: The view will move horizontally from -frameWidth to +frameWidth. 这个view会从水平的-frameWidth值移动到+frameWidth值.
SCShakeOptionsDirectionVertical: The view will move vertically from -frameHeight to +frameHeight. 这个view会从垂直的-frameHeight值移动到+frameHeight值.
SCShakeOptionsDirectionHorizontalAndVertical: The view will randomly move horizontally or vertically. 这个view会随机的在水平或者垂直方向上移动.
Force interpolation
The force interpolation affects how the force changes in the time. 强度参数影响着每次改变的次数
SCShakeOptionsForceInterpolationNone: The force will remain always the same as the one you provided.
SCShakeOptionsForceInterpolationLinearUp: The force will linearly changes from 0 to the one you provided.
SCShakeOptionsForceInterpolationLinearDown: The force will linearly changes from the one you provided to zero.
SCShakeOptionsForceInterpolationExpUp: The force will exponentialy changes from 0 to the one you provided.
SCShakeOptionsForceInterpolationExpDown: The force will exponentialy changes from the one you provided to zero.
SCShakeOptionsForceInterpolationRandom: The force will randomly change between 0 and the one you provided.
Action at end
The action at end defines what should happen when the shake completes 定义了当振动结束之后的行为
SCShakeOptionsAtEndRestart: The shake will be restarted automatically from the beginning. 振动将会自动重新开始
SCShakeOptionsAtEndComplete: The shake will stop. 振动将会停止
SCShakeOptionsAtEndContinue: The shake will contnue endlessly. The force won't change anymore when it reaches the duration. 振动将不会停止,强度参数不会对他产生任何作用了
Misc options
SCShakeOptionsAutoreverse: When the shake reaches the end, the shake will continue in the reverse order. Setting this value will double the effective duration. 当振动结束后,这个振动将会逆序在执行一遍,设置这个参数会让振动时间变成双倍.
[翻译] SCViewShaker的更多相关文章
- 《Django By Example》第五章 中文 翻译 (个人学习,渣翻)
书籍出处:https://www.packtpub.com/web-development/django-example 原作者:Antonio Melé (译者@ucag注:大家好,我是新来的翻译, ...
- 《Django By Example》第四章 中文 翻译 (个人学习,渣翻)
书籍出处:https://www.packtpub.com/web-development/django-example 原作者:Antonio Melé (译者注:祝大家新年快乐,这次带来<D ...
- [翻译]开发文档:android Bitmap的高效使用
内容概述 本文内容来自开发文档"Traning > Displaying Bitmaps Efficiently",包括大尺寸Bitmap的高效加载,图片的异步加载和数据缓存 ...
- 【探索】机器指令翻译成 JavaScript
前言 前些时候研究脚本混淆时,打算先学一些「程序流程」相关的概念.为了不因太枯燥而放弃,决定想一个有趣的案例,可以边探索边学. 于是想了一个话题:尝试将机器指令 1:1 翻译 成 JavaScript ...
- 《Django By Example》第三章 中文 翻译 (个人学习,渣翻)
书籍出处:https://www.packtpub.com/web-development/django-example 原作者:Antonio Melé (译者注:第三章滚烫出炉,大家请不要吐槽文中 ...
- 《Django By Example》第二章 中文 翻译 (个人学习,渣翻)
书籍出处:https://www.packtpub.com/web-development/django-example 原作者:Antonio Melé (译者注:翻译完第一章后,发现翻译第二章的速 ...
- 《Django By Example》第一章 中文 翻译 (个人学习,渣翻)
书籍出处:https://www.packtpub.com/web-development/django-example 原作者:Antonio Melé (译者注:本人目前在杭州某家互联网公司工作, ...
- 【翻译】Awesome R资源大全中文版来了,全球最火的R工具包一网打尽,超过300+工具,还在等什么?
0.前言 虽然很早就知道R被微软收购,也很早知道R在统计分析处理方面很强大,开始一直没有行动过...直到 直到12月初在微软技术大会,看到我软的工程师演示R的使用,我就震惊了,然后最近在网上到处了解和 ...
- ASP.NET MVC with Entity Framework and CSS一书翻译系列文章之第一章:创建基本的MVC Web站点
在这一章中,我们将学习如何使用基架快速搭建和运行一个简单的Microsoft ASP.NET MVC Web站点.在我们马上投入学习和编码之前,我们首先了解一些有关ASP.NET MVC和Entity ...
随机推荐
- Linux运维中遇到的常见问题
1.CentOS启动tomcat出现乱码的解决方案1.打开tomcat下的server.xml配置文件,在connect标签中添加编码属性:URIEncoding="UTF-8"2 ...
- 国际化实现之基于jquery
jQuery.i18n.properties是一款轻量级的jQuery国际化插件,能实现Web前端的国际化. jQuery.i18n.properties 采用 .properties 文件对 Jav ...
- SSH(Struts 2.3.31 + Spring 4.1.6 + Hibernate 5.0.12 + Ajax)框架整合实现简单的增删改查(包含分页,Ajax 无刷新验证该用户是否存在)
软件152 余建强 该文将以员工.部门两表带领大家进入SSH的整合教程: 源码下载:http://download.csdn.net/detail/qq_35318576/9877235 SSH 整合 ...
- 基于Ionic的移动框架搭建
- ArchLinux - 安装指南
Step 1 将镜像写入u盘 u盘从来不是唯一的选择,但多数人可能喜欢这么做. 我是在OS X上进行操作,如果你用的是windows,也许可以使用Image Writer for Windows或者U ...
- pch文件配置
配置.pch文件 刚上手 Xcode6 的人,总会发现之前在 6 之前常常会在“利用名-Prefix.pch”这个文件中来配置我们全局要用到的头文件,但是 xcode6 没有了,人家说,这类东西有时候 ...
- 【基于初学者的SSH】struts2 值栈的详解与struts2标签库+ognl表达式
一:什么是值栈:struts2里面本身提供的一种存储机制,类似于域对象,值栈,可以存值和取值 特点:先进后出,最上面的元素叫做栈顶,也叫压栈. <s:debug></s:debug& ...
- 《Programming iOS 7》读书笔记 - 窗体大小与状态栏
1.从iOS7开始,状态栏开始变为透明的,根识图占领了整个窗体,包括状态栏后面的20像素高的区域,这种样式无法被改变.iOS6的状态栏是不透明的,窗体的尺寸通常会比屏幕的尺寸要小,可以设置窗体的尺寸为 ...
- “使用IDEA,配置文件是yml,无法获取[环境变量],值是null”的问题处理
为了便于隐藏用户名和密码,我们有时会用到“环境变量”. Spring Boot提供了很好的机制,可以在配置文件中,如application.yml书写以下格式,然后在代码中@Value就可以获取“环境 ...
- 【 js 片段 】如何组织表单的默认提交?【亲测有效】
最近做的一个项目,我分到的部分有表单验证.点击了提交按钮,但我并不想让他跳转页面去提交.于是经过各种百度,各种 stackoverflow,各种抱大神腿之后,有了以下解决办法: 重点就是阻止 form ...