UIControlEventTouch事件方法解释

UIControlEventTouchDown

单点触摸按下事件:用户点触屏幕,或者又有新手指落下的时候。

UIControlEventTouchDownRepeat

多点触摸按下事件,点触计数大于1:用户按下第二、三、或第四根手指的时候。

UIControlEventTouchDragInside

当一次触摸在控件窗口内拖动时。

UIControlEventTouchDragOutside

当一次触摸在控件窗口之外拖动时。

UIControlEventTouchDragEnter

当一次触摸从控件窗口之外拖动到内部时。

UIControlEventTouchDragExit

当一次触摸从控件窗口内部拖动到外部时。

UIControlEventTouchUpInside

所有在控件之内触摸抬起事件。

UIControlEventTouchUpOutside

所有在控件之外触摸抬起事件(点触必须开始与控件内部才会发送通知)。

UIControlEventTouchCancel

所有触摸取消事件,即一次触摸因为放上了太多手指而被取消,或者被上锁或者电话呼叫打断。

UIControlEventTouchChanged

当控件的值发生改变时,发送通知。用于滑块、分段控件、以及其他取值的控件。你可以配置滑块控件何时发送通知,在滑块被放下时发送,或者在被拖动时发送。

UIControlEventEditingDidBegin

当文本控件中开始编辑时发送通知。

UIControlEventEditingChanged

当文本控件中的文本被改变时发送通知。

UIControlEventEditingDidEnd

当文本控件中编辑结束时发送通知。

UIControlEventEditingDidOnExit

当文本控件内通过按下回车键(或等价行为)结束编辑时,发送通知。

UIControlEventAlltouchEvents

通知所有触摸事件。

UIControlEventAllEditingEvents

通知所有关于文本编辑的事件。

UIControlEventAllEvents

通知所有事件。

//

002    //  ViewController.m

003    //  UIControlEvents

004    //

005    //  Created by WeiZhen_Liu on 13-4-27.

006    //  Copyright (c) 2013年 WeiZhen_Liu. All rights reserved.

007    //

008

009    #import "ViewController.h"

010

011    @interface ViewController ()

012

013    @end

014

015    @implementation ViewController

016

017    - (void)viewDidLoad

018    {

019        [super viewDidLoad];

020        UIButton *button = [UIButton buttonWithType:UIButtonTypeRoundedRect];

021        [button setFrame:CGRectMake(10, 100, 300, 40)];

022        [button setTitle:@"Test" forState:UIControlStateNormal];

023        [button addTarget:self action:@selector(TouchDown:) forControlEvents:UIControlEventTouchDown];

024        [button addTarget:self action:@selector(TouchDownRepeat:) forControlEvents:UIControlEventTouchDownRepeat];

025        [button addTarget:self action:@selector(TouchDragInside:) forControlEvents:UIControlEventTouchDragInside];

026        [button addTarget:self action:@selector(TouchDragOutside:) forControlEvents:UIControlEventTouchDragOutside];

027        [button addTarget:self action:@selector(TouchDragEnter:) forControlEvents:UIControlEventTouchDragEnter];

028        [button addTarget:self action:@selector(TouchDragExit:) forControlEvents:UIControlEventTouchDragExit];

029        [button addTarget:self action:@selector(TouchUpInside:) forControlEvents:UIControlEventTouchUpInside];

030        [button addTarget:self action:@selector(TouchUpOutside:) forControlEvents:UIControlEventTouchUpOutside];

031        [button addTarget:self action:@selector(TouchCancel:) forControlEvents:UIControlEventTouchCancel];

032        UILongPressGestureRecognizer *longPress = [[UILongPressGestureRecognizer alloc] initWithTarget:self action:@selector(buttonLongPress:)];

033        longPress.minimumPressDuration = 3;

034        [button addGestureRecognizer:longPress];

035        [longPress release];

036        [self.view addSubview:button];

037    }

038

039    - (void)TouchDown:(id)sender

040    {

041        NSLog(@"%@", NSStringFromSelector(_cmd));

042    }

043

044

045    - (void)TouchDownRepeat:(id)sender

046    {

047        NSLog(@"%@", NSStringFromSelector(_cmd));

048    }

049

050    - (void)TouchDragInside:(id)sender

051    {

052        NSLog(@"%@", NSStringFromSelector(_cmd));

053    }

054

055    - (void)TouchDragOutside:(id)sender

056    {

057        NSLog(@"%@", NSStringFromSelector(_cmd));

058    }

059

060    - (void)TouchDragEnter:(id)sender

061    {

062        NSLog(@"%@", NSStringFromSelector(_cmd));

063    }

064

065    - (void)TouchDragExit:(id)sender

066    {

067        NSLog(@"%@", NSStringFromSelector(_cmd));

068    }

069

070    - (void)TouchUpInside:(id)sender

071    {

072        NSLog(@"%@", NSStringFromSelector(_cmd));

073    }

074

075    - (void)TouchUpOutside:(id)sender

076    {

077        NSLog(@"%@", NSStringFromSelector(_cmd));

078    }

079

080    - (void)TouchCancel:(id)sender

081    {

082        NSLog(@"%@", NSStringFromSelector(_cmd));

083    }

084

085    - (void)didReceiveMemoryWarning

086    {

087        [super didReceiveMemoryWarning];

088        // Dispose of any resources that can be recreated.

089    }

090

091    - (void)buttonLongPress:(UILongPressGestureRecognizer *)gestureRecognizer

092    {

093        if (gestureRecognizer.state == UIGestureRecognizerStateBegan) {

094            NSLog(@"%@", NSStringFromSelector(_cmd));

095        }

096    }

097

098    @end

099

100    /**

101     * UIControlEventTouchDown           = 1 <<  0,      // on all touch downs

102     * UIControlEventTouchDownRepeat     = 1 <<  1,      // on multiple touchdowns (tap count > 1)

103     * UIControlEventTouchDragInside     = 1 <<  2,

104     * UIControlEventTouchDragOutside    = 1 <<  3,

105     * UIControlEventTouchDragEnter      = 1 <<  4,   // 注:我在模拟器上找了好久没找到这个东西什么时候触法

106     * UIControlEventTouchDragExit       = 1 <<  5,

107     * UIControlEventTouchUpInside       = 1 <<  6,

108     * UIControlEventTouchUpOutside      = 1 <<  7,

109     * UIControlEventTouchCancel         = 1 <<  8,

110     * 按下松开,依次触发:   TouchDown:      TouchUpInside:

111     * 按下并在按钮内部拖动最后松开,依次触发:  TouchDown:    TouchDragInside:(多次)    TouchUpInside:

112     * 按着按钮拖动到按钮外不远处,依次触发: TouchDown:    TouchDragInside:(多次)    TouchUpInside:

113     * 按着按钮拖动到按钮外很远处,依次触发: TouchDown:    TouchDragInside:(多次)    TouchDragExit:    TouchDragOutside:(多次)    TouchUpOutside:

114     * 快速双击两下,依次触发: TouchDown:    TouchUpInside:    TouchDown:    TouchDownRepeat:    TouchUpInside:

115     * 快速击三下,依次触发: TouchDown:    TouchUpInside:    TouchDown:    TouchDownRepeat:    TouchUpInside:    TouchDown:    TouchDownRepeat:    TouchUpInside:

116     * 长按会依次触发: TouchDown:    buttonLongPress:    TouchCancel:

117     */

------------------------------------------------------------------------------------------------------------

摘自:

http://blog.163.com/cz_jdton/blog/static/92732504201282543017312/

http://blog.csdn.net/heng615975867/article/details/39321081

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容