2014-12-17 3 views
-2

Я хочу вызвать метод непрерывно при нажатии кнопки. Я могу обнаружить состояние нажатия UIButton, используя touchup внутри или другое подобное действие. Итак, как я могу определить состояние нажатия UIButton?Как определить состояние нажатия UIButton?

+0

Нажатие состояние как что? – BHASKAR

+0

Если вы хотите изменить фоновое изображение кнопки, я думаю, что это было бы выделенное состояние –

+0

@Hemal проверить это: http://stackoverflow.com/questions/11181340/keeping-a-uibutton-pressedstate-selected-highlighted-until- another-button-is-p – cyberlobe

ответ

2

Вот как я сделал:

UILongPressGestureRecognizer *longPress = [[UILongPressGestureRecognizer alloc] initWithTarget:self action:@selector(longPressRecordButton:)]; 
[self.view.recordBtn addGestureRecognizer:longPress]; 
UIButton *recordButton = self.view.recordBtn; 
[recordButton addTarget:self action:@selector(beginTouchRecord:) forControlEvents:UIControlEventTouchDown]; 
[recordButton addTarget:self action:@selector(endTouch:) forControlEvents:UIControlEventTouchUpInside]; 
[recordButton addTarget:self action:@selector(endTouch:) forControlEvents:UIControlEventTouchCancel]; 
0

Вы можете получить метод действия для этого состояния только

typedef NS_OPTIONS(NSUInteger, UIControlEvents) { 
UIControlEventTouchDown   = 1 << 0,  // on all touch downs 
UIControlEventTouchDownRepeat  = 1 << 1,  // on multiple touchdowns (tap count > 1) 
UIControlEventTouchDragInside  = 1 << 2, 
UIControlEventTouchDragOutside = 1 << 3, 
UIControlEventTouchDragEnter  = 1 << 4, 
UIControlEventTouchDragExit  = 1 << 5, 
UIControlEventTouchUpInside  = 1 << 6, 
UIControlEventTouchUpOutside  = 1 << 7, 
UIControlEventTouchCancel   = 1 << 8, 

UIControlEventValueChanged  = 1 << 12,  // sliders, etc. 

UIControlEventEditingDidBegin  = 1 << 16,  // UITextField 
UIControlEventEditingChanged  = 1 << 17, 
UIControlEventEditingDidEnd  = 1 << 18, 
UIControlEventEditingDidEndOnExit = 1 << 19,  // 'return key' ending editing 

UIControlEventAllTouchEvents  = 0x00000FFF, // for touch events 
UIControlEventAllEditingEvents = 0x000F0000, // for UITextField 
UIControlEventApplicationReserved = 0x0F000000, // range available for application use 
UIControlEventSystemReserved  = 0xF0000000, // range reserved for internal framework use 
UIControlEventAllEvents   = 0xFFFFFFFF 
}; 
Смежные вопросы