UIButton'a çift dokunuş nasıl tanınır?UIButton'a çift dokunma
cevap
denetim olayının UIControlEventTouchDownRepeat için bir hedef-eylem ekleyin ve dokunmatik en tapCount
2.
Objective-C olduğu zaman eylem yapmak:
[button addTarget:self action:@selector(multipleTap:withEvent:)
forControlEvents:UIControlEventTouchDownRepeat];
...
-(IBAction)multipleTap:(id)sender withEvent:(UIEvent*)event {
UITouch* touch = [[event allTouches] anyObject];
if (touch.tapCount == 2) {
// do action.
}
}
@Gavin yorumladığı gibi, çift Bir düğmeye dokunarak alışılmadık bir jest. IPhone OS'de çift dokunma, bir odak bölgesinin yakınlaştırılması/uzaklaştırılması için çoğunlukla zumlanabilir görünümler için kullanılır. Eğer hareketi başka eylemler gerçekleştirirseniz, kullanıcılar için sorun olmayabilir.
Swift 3: sonra
button.addTarget(self, action: #selector(multipleTap(_:event:)), for: UIControlEvents.touchDownRepeat)
Ve:
func multipleTap(_ sender: UIButton, event: UIEvent) {
let touch: UITouch = event.allTouches!.first!
if (touch.tapCount == 2) {
// do action.
}
}
Teşekkürler, bu temiz bir çözümdür – Aitul
Bu, istenmeyen çift tıkanıklıkları önlemek için yararlı olabilir. Örneğin bir sunucuya istek yapıyorsanız. – johnnymire
@johnnymire: İlk tıklamadan sonra düğmeyi derhal devre dışı bırakabilirsiniz. – kennytm
deneyin düğmesi olayı
UIControlEventTouchDownRepeat
@IBOutlet weak var button: UIButton!
override func viewDidLoad() {
super.viewDidLoad()
button.addTarget(self, action: "didTap:", forControlEvents: .TouchUpInside)
button.addTarget(self, action: "didDoubleTap:", forControlEvents: .TouchDownRepeat)
}
var ignoreTap = false
func didTap(sender: UIButton) {
if ignoreTap {
ignoreTap = false
print("ignoretap", sender)
return
}
print("didTap", sender)
}
func didDoubleTap(sender: UIButton) {
ignoreTap = true
print("didDoubleTap", sender)
}
- 1. Android'de yüzey görünümü için çift dokunma nasıl uygulanır
- 2. Bir görüntüleyici içindeki dokunma/dokunma olaylarını algılama
- 3. Görüntüde dokunma dinleyicisi nasıl uygulanır?
- 4. Cordova JQuery Dokunma/Tıklama Sorunları
- 5. Mobil uygulamalarda onaylanmamış dokunma işlemleri
- 6. Dokunma etkin tarayıcıda dokunma olayları oluşturma ve ateşleme?
- 7. iPhone üzerinde simüle dokunma
- 8. UIButton TouchUpInside Dokunma Konumu
- 9. Bağımsız JQuery "dokunma" yöntemi?
- 10. Basit Dokunma Hareketlerini Algıla
- 11. Pinch Zoom - Dokunma koordinatları
- 12. Dokunma olayı, web görüntüleme
- 13. Dokunma olayları, iPhone
- 14. UIScrollView'teki dokunma konumunu algıla?
- 15. Dokunma Kaydırma Görünümü IOS
- 16. C#: [], çift [] [] ve çift
- 17. Özel SKSpriteNode dokunma sırasında algılanmadı
- 18. Yanlış sonucu veren çokgenlere dokunma
- 19. Düğmelerdeki hızlı dokunma ile ilgilenme
- 20. Dokunma gecikmesini UIScrollView'da kısaltın mı?
- 21. Tüm dokunma olayları nasıl engellenir?
- 22. dizin oluşturmak için "dokunma" kullanarak?
- 23. Hammer.js ile Çoklu Dokunma Panning
- 24. Android'de yavaş Javascript dokunma olayları
- 25. Cocos2d'de çoklu dokunma nasıl etkinleştirilir?
- 26. Tuval öğesinin çift görüntüsü
- 27. Dokunma aygıtlarında tek parmakla sürükleme nasıl devre dışı bırakılır
- 28. çift eksi çift hassasiyet veren problemler
- 29. çift dizi
- 30. Tek Çift
Çift dokunma için kullanmak bir stand değil ard, ne de açık bir UIButton davranışı. Bu eyleme neden ihtiyaç duyduğunuzu tekrar gözden geçirmelisiniz. –