01-实现图片按钮的缩放、动画效果(block的初步应用)

 1 #import "ViewController.h"
 2
 3 #define kDelta 60
 4
 5 @interface ViewController ()
 6
 7 @end
 8
 9 @implementation ViewController
10
11 #pragma mark 封装动画效果的代码
12 - (void)btnClickWithBlock:(void (^)())block
13 {
14     // 实现动画(渐进变化)
15     [UIView beginAnimations:nil context:nil];
16     [UIView setAnimationDuration:1.0];
17
18     block();
19
20     [UIView commitAnimations];
21 }
22
23 // CGAffineTransform transform
24 // 表示空间的形变状态(旋转角度、缩放比例)
25 #pragma mark 还原为原始状态
26 - (IBAction)reset:(id)sender {
27
28     [self btnClickWithBlock:^{
29         _btn.transform = CGAffineTransformIdentity;
30     }];
31 }
32
33 #pragma mark 控制按钮的左右旋转
34 - (IBAction)rotate:(id)sender {
35     // tag可以用来区分控件
36     [self btnClickWithBlock:^{
37         CGFloat angle = [sender tag]==10 ? 0-M_PI_4 : M_PI_4;
38         _btn.transform = CGAffineTransformRotate(_btn.transform, angle);
39     }];
40 }
41
42 #pragma mark 控制按钮的左右上下移动
43 - (IBAction)run:(id)sender {
44
45     [self btnClickWithBlock:^{
46         CGRect imageFrame = _btn.frame;
47         NSInteger tag = [sender tag];
48         switch (tag) {
49             case 1:
50                 imageFrame.origin.y -= kDelta;
51                 break;
52             case 2:
53                 imageFrame.origin.x += kDelta;
54                 break;
55             case 3:
56                 imageFrame.origin.y += kDelta;
57                 break;
58             case 4:
59                 imageFrame.origin.x -= kDelta;
60                 break;
61
62             default:
63                 break;
64         }
65         _btn.frame = imageFrame;
66     }];
67 }
68
69 #pragma mark 控制按钮的缩放
70 - (IBAction)zoom:(id)sender {
71
72     [self btnClickWithBlock:^{
73         CGFloat scale = [sender tag]==15 ? 1.2 : 0.8;
74         _btn.transform = CGAffineTransformScale(_btn.transform, scale, scale);
75     }];
76 }
77 @end

界面效果图:

时间: 2024-10-22 13:35:19

01-实现图片按钮的缩放、动画效果(block的初步应用)的相关文章

CSS3背景闪烁和图片缩放动画效果

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <title>CSS3感应鼠标的背景闪烁和图片缩放动态效

AnimCheckBox按钮点击动画效果《IT蓝豹》

AnimCheckBox按钮点击动画效果 AnimCheckBox按钮点击动画效果,点击选中后勾选框选择效果,很不错的动画功能.项目来源:https://github.com/lguipeng/AnimCheckBox本项目主要介绍:本项目主要自定义AnimCheckBox 集成View,提供选择的监听接口OnCheckedChangeListener主要由drawCircle()方法和drawHook(Canvas canvas):  private void drawCircle(Canva

WinForm 窗体缩放动画效果

using System; using System.Collections.Generic; using System.Text; using System.Threading; using System.Windows.Forms; using System.Drawing; using System.Diagnostics; namespace AnimatedTransform { static class FormTransform { public static void Trans

万彩动画大师教程 | 如何实现文字图片内聚光线的动画效果

内聚光线是一种所以线条都往中心点聚拢 的强调的动画效果. 在[时间轴区域]中点击动画条后面的[+],会弹出一个小窗体,接着在窗体内部的[搜索框]中输入[聚光线]的首字母[jgx]并搜索,就会出现带[内聚光线]字眼的动画效果,点击[内聚光线]的动画效果,然后点击[确定],就可以实现文字图片内聚光线发射的强调动画效果,如下图所示: 原文地址:https://www.cnblogs.com/focusky/p/10253740.html

WinForm 窗口缩放动画效果

using System; using System.Collections.Generic; using System.Text; using System.Threading; using System.Windows.Forms; using System.Drawing; using System.Diagnostics; namespace AnimatedTransform { static class FormTransform { public static void Trans

仿知乎FloatingActionButton浮动按钮动画效果实现(一)

最近刚接触使用android studio,那酸爽简直停不下来23333,eclipse什么的以后可以放弃了~ 然后在默认生成的第一个项目发现了一个新的控件,即FloatingActionButton,联想到知乎上也有这个控件,于是模仿知乎的效果试一试. 大概分为四个步骤: Step1:修改原生FloatingActionButton的背景颜色和点击颜色. Step2:描绘FloatingActionButton的点击动画效果. Step3:设置蒙版模拟点击以后的界面雾化效果. Step4:设置

IOS基础UI之(三)手写UI和storyboard方式实现图片移动和缩放

手写UI是最早进行UI界面布局的方法,优点是灵活自由,缺点是使代码看起来比较长.平时学习的时候可以多尝试手写ui,这样会更深入熟悉控件.storyboard开发效率相对比较高.实际开发中看情况而定!! 下面用这两种方式分别实现图片移动和缩放. 功能描述: 1. 界面布局 2.点击相应的按钮,对显示的图片移动.缩放. 效果如下:    掌握点: 一:熟悉代码的描述UIButton属性 1.UIButton状态 UIControlStateNormal          // 正常状态 UICont

Android开发之动画效果浅析

Android开发之动画效果浅析 请尊重他人的劳动成果,转载请注明出处:Android开发之动画效果浅析 程序运行效果图: Android动画主要包含补间动画(Tween)View Animation.帧动画(Frame)Drawable Animation.以及属性动画Property Animation.下面依次介绍一下各个动画. 1.   补间动画(Tween) Tween动画,通过对View 的内容进行一系列的图形变换 (包括平移.缩放.旋转.改变透明度)来实现动画效果.动画效果的定义可

设计能长按并有动画效果且能触发事件的高级view

效果图: 源码: LongTapAnimationView.h 与 LongTapAnimationView.m // // LongTapAnimationView.h // YouXianMingClock // // Created by YouXianMing on 14-10-13. // Copyright (c) 2014年 YouXianMing. All rights reserved. // #import <UIKit/UIKit.h> @class LongTapAni