在我的應用程序中,我使用一個按鈕,我分配了兩種方法,他們之一,當你觸摸(按鈕圖像被改變)工作,另一個工作時,當你觸摸在裏面(另一個視圖被打開)。簡單地說,如果你想打開一個視圖,你可以按下按鈕,但是當你觸摸按鈕時,圖像會被改變,並且在你擡起手指之後,另一個視圖被打開。我的問題是,如果按下按鈕圖像被更改,但是如果您將手指移動到遠離按鈕的位置,則內部觸摸不起來,因爲它應該是。但問題在於圖像堅持其超版本,因爲觸發一次就會觸發。我該怎麼辦?謝謝iphone開發:使用觸摸並同時觸摸內
0
A
回答
3
您可以在控制狀態touchDragOutside
或touchDragExit
中處理此操作,具體取決於您希望執行的操作。使用touchDragOutside
,您可以檢測用戶何時觸摸按鈕內部並拖動手指而不離開按鈕的可觸摸邊界,並且touchDragExit
可以檢測到它們何時拖出按鈕可觸摸邊界。
[button addTarget:self action:@selector(someMethod:) forControlEvents:UIControlEventTouchDragExit];
[button addTarget:self action:@selector(someMethod:) forControlEvents:UIControlEventTouchDragOutside];
2
我建議你使用UIButton對象的這種方法來改變圖像。
- (void)setImage:(UIImage *)image forState:(UIControlState)state
爲國家所有的選項我將使用狀態UIControlStateNormal和UIControlStateHighlighted爲你的目標。
0
我面臨這個問題我自己,主要是我們使用這些事件: -
//此事件正常工作和火災
[按鈕addTarget:自我行動:@selector(壓緊)forControlEvents:UIControlEventTouchDown ]。
//這不火都
[按鈕addTarget:自我行動:@selector(holdRelease)forControlEvents:UIControlEventTouchUpInside]。
解決方案: -
使用長按手勢識別器: -
UILongPressGestureRecognizer *btn_LongPress_gesture = [[UILongPressGestureRecognizer alloc] initWithTarget:self action:@selector(handleBtnLongPressgesture:)];
[button addGestureRecognizer:btn_LongPress_gesture];
執行的手勢: -
- (void)handleBtnLongPressgesture:(UILongPressGestureRecognizer *)recognizer{
//as you hold the button this would fire
if (recognizer.state == UIGestureRecognizerStateBegan) {
[self someMethod];
}
//as you release the button this would fire
if (recognizer.state == UIGestureRecognizerStateEnded) {
[self someMethod];
}
}
相關問題
- 1. 觸摸時更大觸摸
- 2. 2同時安卓觸摸/未觸發
- 3. 觸摸並按住 - iPhone cocos2d
- 4. 觸摸Cocos2d + Box2d - Iphone遊戲開發
- 5. ACTION_CANCEL同時觸摸
- 6. UIButton同時觸摸內部和觸摸重複?
- 7. 同時使用觸摸和觸摸手勢識別器
- 8. 觸摸UIButton觸摸
- 9. 觸摸開始與多點觸摸讓
- 10. 在iPhone中觸摸時展開UIButton
- 11. Android雖然觸摸和觸摸發佈
- 12. 觸摸次數變化時爲什麼觸摸不會觸發?
- 13. iPhone:多點觸摸
- 14. 觸摸和觸摸之間的時間
- 15. 取消觸摸它時的UIButton觸摸
- 16. 當我觸摸TextView時觸摸按鈕
- 17. Android開發:第一個觸摸= TextView1,第二個觸摸= TextView2等
- 18. 如何讓動畫在觸摸時開始並再次觸摸時停止?
- 19. iPhone SDK使按鈕不可觸摸/可觸摸
- 20. 觸摸開始和觸摸結束之間的時間
- 21. 開始sencha觸摸
- 22. 何時觸摸Rails中的belongs_to觸發?
- 23. 觸摸CALayer時觸發一個動作?
- 24. WinRT處理超過5個觸摸同時觸摸輸入
- 25. 識別僅在發生觸摸時創建的UIView的觸摸
- 26. 當觸摸開始於不同元素時,離子 - 觸摸事件?
- 27. 使觸摸
- 28. 在支持觸摸的瀏覽器上創建並觸發觸摸事件?
- 29. 移動電影剪輯,左/右使用觸摸事件與同時觸摸
- 30. Iphone SDK:移動並旋轉觸摸