按下和弹起效果的按钮分类(POP实现)

使用POP实现按下/弹起效果的按钮分类。


1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

62

63

64

65

66

67

68

69

70

//

//  UIButton+SpringTouch.h

//  JCiOSProjectSample

//

//  Created by jimple on 14/7/28.

//  Copyright (c) 2014年 JimpleChen. All rights reserved.

//

#import <UIKit/UIKit.h>

@interface UIButton (SpringTouch)

- (void)initSpringTouch;

- (void)removeSpringTouch;

@end

////////////////////////////////////////////////////////////////////////////

//

//  UIButton+SpringTouch.m

//  JCiOSProjectSample

//

//  Created by jimple on 14/7/28.

//  Copyright (c) 2014年 JimpleChen. All rights reserved.

//

#import "UIButton+SpringTouch.h"

#import <POP.h>

@implementation UIButton (SpringTouch)

- (void)initSpringTouch

{

    [self addTarget:self action:@selector(springTouchBtnTouchDown:) forControlEvents:UIControlEventTouchDown];

    [self addTarget:self action:@selector(springTouchBtnTouchUp:) forControlEvents:UIControlEventTouchUpInside|UIControlEventTouchUpOutside];

}

- (void)removeSpringTouch

{

    [self removeTarget:self action:@selector(springTouchBtnTouchDown:) forControlEvents:UIControlEventTouchDown];

    [self removeTarget:self action:@selector(springTouchBtnTouchUp:) forControlEvents:UIControlEventTouchUpInside|UIControlEventTouchUpOutside];

}

- (void)springTouchBtnTouchDown:(id)sender

{

    UIView *btn = (UIView *)sender;

    POPSpringAnimation *animation = [POPSpringAnimation animationWithPropertyNamed:kPOPLayerScaleXY];

    

    animation.toValue = [NSValue valueWithCGPoint:CGPointMake(0.9, 0.9)];

    animation.springBounciness = 10;

    [btn.layer pop_addAnimation:animation forKey:@"ZoomOutY"];

}

- (void)springTouchBtnTouchUp:(id)sender

{

    UIView *btn = (UIView *)sender;

    

    [btn.layer pop_removeAnimationForKey:@"ZoomOutY"];

    

    POPSpringAnimation *animation = [POPSpringAnimation animationWithPropertyNamed:kPOPLayerScaleXY];

    animation.toValue = [NSValue valueWithCGPoint:CGPointMake(1, 1)];

    animation.springBounciness = 10;

    

    [btn.layer pop_addAnimation:animation forKey:@"ZoomOutYReverse"];

}

@end

按下和弹起效果的按钮分类(POP实现)

时间: 2024-10-05 14:00:37

按下和弹起效果的按钮分类(POP实现)的相关文章

c#多个按钮执行同一类事件-按钮按下和弹起

首先在Winform中添加一个Button控件,在属性里面为控件添加鼠标按下和弹起事件(不要双击按钮,在属性里面添加) 再添加其他几个按钮控件,在控件的属性里面为鼠标按下和弹起添加已定义好处理函数(MotionLYP_MouseDown,MotionLYP_MouseUp),所有按钮添加同样的处理函数.如上图所示. 然后在函数里面添加处理代码.(需要判断按下的是哪一个按钮)(sender as Button).Name获取按钮的name: 如图所示,btnName变量存储按下按钮的name. 原

iOS 7 自定义Back按钮 与 Pop interactive gesture

1.自定义Back按钮 iOS中很多时候我们都会自定义返回按钮,也是一件easy的事,类似如下: // 返回按钮 1 - (void)showNavBackButton 2 { 3 UIButton *backButton = [UIButton buttonWithType:UIButtonTypeCustom]; 4 [backButton addTarget:self action:@selector(backButtonAction:) 5 forControlEvents:UICont

Android 中带有进度条效果的按钮(Button)

安卓中带有进度条效果的按钮,如下图: 1.布局文件如下activity_main.xml 1 <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 2 xmlns:tools="http://schemas.android.com/tools" 3 android:layout_width="fill_parent" 4 android:layo

android使用shape做selector按钮按下和弹起的动画

平时效果: 按下效果: selector代码: <?xml version="1.0" encoding="utf-8"?> <selector xmlns:android="http://schemas.android.com/apk/res/android"> <item android:state_pressed="true"><shape> <solid andro

js运动框架之掉落的扑克牌(重心、弹起效果)

玩过电脑自带纸牌游戏的同志们应该都知道,游戏过关后扑克牌会依次从上空掉落,落下后又弹起,直至"滚出"屏幕. 效果如图:    这个案例的具体效果就是:点击开始运动,纸牌会从右上角掉落下来,之后弹起,运动的速度会逐渐减慢,直到越出屏幕后,全部纸牌消失,在右上角会重新出现一张纸牌,继续动作,一再往复. 具体代码如下: 1 <!DOCTYPE html> 2 <html> 3 <head lang="en"> 4 <meta ch

UI-切圆角、透明度、取消按钮点击高亮效果、按钮文字带下划线

一.切UIView的某个角为圆角 如果需要将UIView的4个角全部都为圆角,做法相当简单,只需设置其Layer的cornerRadius属性即可(项目需要使用QuartzCore框架).而若要指定某几个角(小于4)为圆角而别的不变时,怎么做呢? 其实很简单,使用UIBezierPath,设置CAShapeLayer,给UIView设置遮罩效果即可. // 图标左上.左下切圆角 UIBezierPath *phoneIconPath = [UIBezierPath bezierPathWithR

Android虚拟键盘上下左右键按下和弹起的响应事件

// 按键按下,所触发的事件 public boolean onKeyDown(int keyCode, KeyEvent event) { switch (keyCode) { case KeyEvent.KEYCODE_DPAD_CENTER: display("中键被按下"); break; case KeyEvent.KEYCODE_DPAD_DOWN: display("下键被按下"); break; case KeyEvent.KEYCODE_DPAD_

工业串口触摸屏开发制作mp3播放器,单片机或PLC通过串口控制播放MP3音频方法

在工业控制系统中将音乐或语音MP3的美和工控结合在一起,给人以赏心悦目的感受.随着工业控制的发展,对工业控制的控制要求也越来越高,使得越来越多的控制部分不是指简单的现场控制,还需要增加音乐播放或语音提示,使得控制系统更加人性化. 这里介绍广州易显的工业串口触摸屏或者ARM工控机连接单片机或者PLC,使用工业串口触摸屏开发制作mp3的方法.跟电脑的播放器一样,具有播放,暂停,停止,控制播放进度,上一首,下一首等功能.可以在人机界面上控制播放MP3音乐或者语音提示.也可以使用单片机或PLC控制播放的

Android ImageButton单击切换按钮图片效果

正常状态的效果: 按钮按下的效果图片: 一.在java中为图片按钮增加触摸监听的函数来实现图片切换,代码如下: ImageButton btn = (ImageButton)findViewById(R.id.imageButton1); btn.setOnTouchListener(new View.OnTouchListener(){ public boolean onTouch(View v, MotionEvent event) { if(event.getAction() == Mot