JTSlideShadowAnimation

效果图:

JTSlideShadowAnimation allow you to reproduce the famous "slide to unlock effect" on iOS.

JTSlideShadowAnimation能让你重现巨好看的“锁屏滑动辉光”效果

Usage - 使用

Basic usage - 基本使用方法

Just import JTSlideShadowAnimation.h.

只要引入 JTSlideShadowAnimation.h 文件即可

#import "JTSlideShadowAnimation.h"

@interface ViewController : UIViewController

@property (weak, nonatomic) IBOutlet UIButton *animatedView;

@property (strong, nonatomic) JTSlideShadowAnimation *shadowAnimation;

@end

Assign the view you want to animate and start the animation.

给你想要的view附上值,然后执行动画

- (void)viewDidLoad
{
[super viewDidLoad]; self.shadowAnimation = [JTSlideShadowAnimation new];
self.shadowAnimation.animatedView = self.animatedView;
} - (void)viewDidAppear:(BOOL)animated
{
[super viewDidAppear:animated]; [self.shadowAnimation start];
}

Customization - 定制

You can easily customize the animation.

你可以简单定制以下的一些属性

  • shadowBackgroundColor
  • shadowForegroundColor
  • shadowWidth
  • repeatCount
  • duration

Example:

例子:

- (void)viewDidLoad
{
[super viewDidLoad]; self.shadowAnimation = [JTSlideShadowAnimation new];
self.shadowAnimation.animatedView = self.animatedView; self.shadowAnimation.shadowBackgroundColor = [UIColor colorWithWhite:0. alpha:.3];
self.shadowAnimation.shadowForegroundColor = [UIColor blackColor];
self.shadowAnimation.shadowWidth = 40.;
self.shadowAnimation.repeatCount = 3;
self.shadowAnimation.duration = 3.; [self.shadowAnimation start];
}

Requirements - 需要的环境

  • iOS 7 or higher iOS7或者更高版本
  • Automatic Reference Counting (ARC) ARC

Known Issues - 已知的问题

  • Animation stop when the application go in background, you have to restart it manually 程序进入后台然后进入前台时,动画会被移除,需要你手动重新开启

Author - 作者

License - 声明

JTSlideShadowAnimation is released under the MIT license. See the LICENSE file for more info.

JTSlideShadowAnimation基于MIT协议,你可以看看协议了解更多信息。

附录源码:

//
// ViewController.m
// ShowAnimation
//
// Created by YouXianMing on 14/12/26.
// Copyright (c) 2014年 YouXianMing. All rights reserved.
// #import "ViewController.h"
#import "JTSlideShadowAnimation.h" @interface ViewController () @property (strong, nonatomic) UIButton *animatedView;
@property (strong, nonatomic) JTSlideShadowAnimation *shadowAnimation; @end @implementation ViewController - (void)viewDidLoad {
[super viewDidLoad]; // 设置背景图片
UIImageView *imageView = [[UIImageView alloc] initWithFrame:self.view.bounds];
imageView.image = [UIImage imageNamed:@"background"];
imageView.contentMode = UIViewContentModeScaleAspectFill;
[self.view addSubview:imageView]; // 设置按钮
self.animatedView = [[UIButton alloc] initWithFrame:CGRectMake(, , , )];
self.animatedView.titleLabel.font = [UIFont fontWithName:@"HelveticaNeue-Thin"
size:.f];
[self.animatedView setTitle:@"YouXianMing NoZuoNoDie"
forState:UIControlStateNormal];
[self.animatedView setTitleColor:[UIColor whiteColor]
forState:UIControlStateNormal];
[self.view addSubview:self.animatedView]; // 设置阴影
self.shadowAnimation = [JTSlideShadowAnimation new];
self.shadowAnimation.animatedView = self.animatedView;
[self.shadowAnimation start];
} @end

[翻译] JTSlideShadowAnimation的更多相关文章

  1. 《Django By Example》第五章 中文 翻译 (个人学习,渣翻)

    书籍出处:https://www.packtpub.com/web-development/django-example 原作者:Antonio Melé (译者@ucag注:大家好,我是新来的翻译, ...

  2. 《Django By Example》第四章 中文 翻译 (个人学习,渣翻)

    书籍出处:https://www.packtpub.com/web-development/django-example 原作者:Antonio Melé (译者注:祝大家新年快乐,这次带来<D ...

  3. [翻译]开发文档:android Bitmap的高效使用

    内容概述 本文内容来自开发文档"Traning > Displaying Bitmaps Efficiently",包括大尺寸Bitmap的高效加载,图片的异步加载和数据缓存 ...

  4. 【探索】机器指令翻译成 JavaScript

    前言 前些时候研究脚本混淆时,打算先学一些「程序流程」相关的概念.为了不因太枯燥而放弃,决定想一个有趣的案例,可以边探索边学. 于是想了一个话题:尝试将机器指令 1:1 翻译 成 JavaScript ...

  5. 《Django By Example》第三章 中文 翻译 (个人学习,渣翻)

    书籍出处:https://www.packtpub.com/web-development/django-example 原作者:Antonio Melé (译者注:第三章滚烫出炉,大家请不要吐槽文中 ...

  6. 《Django By Example》第二章 中文 翻译 (个人学习,渣翻)

    书籍出处:https://www.packtpub.com/web-development/django-example 原作者:Antonio Melé (译者注:翻译完第一章后,发现翻译第二章的速 ...

  7. 《Django By Example》第一章 中文 翻译 (个人学习,渣翻)

    书籍出处:https://www.packtpub.com/web-development/django-example 原作者:Antonio Melé (译者注:本人目前在杭州某家互联网公司工作, ...

  8. 【翻译】Awesome R资源大全中文版来了,全球最火的R工具包一网打尽,超过300+工具,还在等什么?

    0.前言 虽然很早就知道R被微软收购,也很早知道R在统计分析处理方面很强大,开始一直没有行动过...直到 直到12月初在微软技术大会,看到我软的工程师演示R的使用,我就震惊了,然后最近在网上到处了解和 ...

  9. ASP.NET MVC with Entity Framework and CSS一书翻译系列文章之第一章:创建基本的MVC Web站点

    在这一章中,我们将学习如何使用基架快速搭建和运行一个简单的Microsoft ASP.NET MVC Web站点.在我们马上投入学习和编码之前,我们首先了解一些有关ASP.NET MVC和Entity ...

随机推荐

  1. 【Guava】PreConditions来校验参数

    前置条件:让方法调用的前置条件判断更简单. 在我们的日常开发中,经常要对入参进行一定的参数校验,比如是否为空,参数的取值范围是否符合要求等等.这种参数校验如果我们单独进行校验的话,代码的重复率比较高, ...

  2. mongo 授权访问

    1.授权远程也可以访问 - 首先修改mongodb的配置文件 让其监听所有外网ip 编辑文件:/etc/mongodb.conf 修改后的内容如下: bind_ip = 0.0.0.0 port = ...

  3. 利用setTimeout来实现setInterval

    在Js中,当我们要在一定间隔时间内不断执行同一函数,我们可以使用setInterval函数,但setInterval在某些情况下使用时也存在一定问题. 1.不去关心回调函数是否还在运行 在某些情况下, ...

  4. Android进程管理

    1.进程按照优先级分为不同的等级FVSBE Foreground process前台进程:用户可看到进程里某个activity界面(可以获得焦点的) Visible process可见进程:用户仍可见 ...

  5. centos7.x设置nginx开机自启动

    设置nginx开机自启动(centos7.x) 第一步:进入到/lib/systemd/system/目录 [root@iz2z init.d]# cd /lib/systemd/system/ 第二 ...

  6. Java数组和各种List的性能比较

    以下程序分别对Java数组.ArrayList.LinkedList和Vector进行随机访问和迭代等操作,并比较这种集合的性能. package cn.lion.test; public class ...

  7. python-生产者消费者模式

    #!/usr/bin/python #coding=utf-8 import threading,time lock=threading.Condition() product=0 class Mak ...

  8. chrome bookmarks location

    .config/google-chrome/Default file: Bookmarks

  9. leetcode1:线性表

    //定义二维数组int **array = new int*[row_num]; ;i<row_num;i++) { array[i] = new int[col_num]; } vector& ...

  10. Object的原型拷贝-create、assign、getPrototypeOf 方法的结合

    一.实现原型拷贝 1.1.代码         tips:为了体现原型链,写了继承实现的代码,这部分可跳过- <script> /* 创建包含原型链的实验对象obj1-- start */ ...