IOS UIButton事件__IOS

來源:互聯網
上載者:User
來自: http://blog.163.com/cz_jdton/blog/static/92732504201282543017312/
UIControlEventTouchDown

單點觸摸按下事件:使用者點觸螢幕,或者又有新手指落下的時候。

UIControlEventTouchDownRepeat

多點觸摸按下事件,點觸計數大於1:使用者按下第二、三、或第四根手指的時候。

UIControlEventTouchDragInside

當一次觸摸在控制項視窗內拖動時。

UIControlEventTouchDragOutside

當一次觸摸在控制項視窗之外拖動時。

UIControlEventTouchDragEnter

當一次觸摸從控制項視窗之外拖動到內部時。

UIControlEventTouchDragExit

當一次觸摸從控制項視窗內部拖動到外部時。

UIControlEventTouchUpInside

所有在控制項之內觸摸抬起事件。

UIControlEventTouchUpOutside

所有在控制項之外觸摸抬起事件(點觸必須開始與控制項內部才會發送通知)。

UIControlEventTouchCancel

所有觸摸取消事件,即一次觸摸因為放上了太多手指而被取消,或者被上鎖或者撥打電話打斷。

UIControlEventTouchChanged

當控制項的值發生改變時,發送通知。用於滑塊、分段控制項、以及其他取值的控制項。你可以配置滑塊控制項何時發送通知,在滑塊被放下時發送,或者在被拖動時發送。

UIControlEventEditingDidBegin

當文本控制項中開始編輯時發送通知。

UIControlEventEditingChanged

當文本控制項中的文本被改變時發送通知。

UIControlEventEditingDidEnd

當文本控制項中編輯結束時發送通知。

UIControlEventEditingDidOnExit

當文本控制項內通過按下斷行符號鍵(或等價行為)結束編輯時,發送通知。

UIControlEventAlltouchEvents

通知所有觸摸事件。

UIControlEventAllEditingEvents

通知所有關於文本編輯的事件。

UIControlEventAllEvents

通知所有事件。


執行個體:    

    UIButton *btn = [UIButton buttonWithType:UIButtonTypeCustom];

    // btn.frame = rect_screen;

    btn.frame = CGRectMake(frame.size.width - 20.0f - 30.0f, frame.size.height - 50.0f, 30.0f, 50.0f);

    btn.backgroundColor = [UIColor blueColor];

    

    // UIControlEventTouchDragInside

    // UIControlEventTouchDragOutside

    

    [btn addTarget:self action:@selector(dragInside) forControlEvents:UIControlEventTouchDragInside];

    

    [btn addTarget:self action:@selector(dragOutside) forControlEvents:UIControlEventTouchDragOutside];

    

    // dismissView

    [btn addTarget:self action:@selector(upInside) forControlEvents:UIControlEventTouchUpInside];

    

    [self addSubview:btn];

    

    return self;

}


- (void)dragInside

{

    NSLog(@"dragInside...");

}


- (void)dragOutside

{

    NSLog(@"dragOutside...");

}


- (void)upInside

{

    NSLog(@"upInside...");

}


長按事件

UIButton *aBtn=[UIButton buttonWithType:UIButtonTypeCustom];

    [aBtn setFrame:CGRectMake(40, 100, 60, 60)];

    [aBtn setBackgroundImage:[UIImage imageNamed:@"111.png"]forState:UIControlStateNormal];

//button點擊事件

    [aBtn addTarget:self action:@selector(btnShort:)forControlEvents:UIControlEventTouchUpInside];

    //button長按事件

    UILongPressGestureRecognizer *longPress = [[UILongPressGestureRecognizer alloc] initWithTarget:selfaction:@selector(btnLong:)]; 

    longPress.minimumPressDuration = 0.8; //定義按的時間

    [aBtn addGestureRecognizer:longPress];




-(void)btnLong:(UILongPressGestureRecognizer*)gestureRecognizer{

    if ([gestureRecognizer state] == UIGestureRecognizerStateBegan) {

        NSLog(@"長按事件");

        UIAlertView *alert=[[UIAlertView alloc]initWithTitle:@"訊息" message:@"確定刪除該模式嗎。" delegate:selfcancelButtonTitle:@"取消" otherButtonTitles:@"刪除", nil];

        [alert show];

    }

}

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.