Làm thế nào để nhận biết chạm đôi trên UIButton?Chạm đúp vào UIButton
Trả lời
Thêm mục tiêu hành động cho sự kiện điều khiển UIControlEventTouchDownRepeat, và làm hành động chỉ khi của tapCount
cảm ứng là 2.
Objective-C:
[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.
}
}
Như @Gavin nhận xét, đôi -tap trên một nút là một cử chỉ bất thường. Khi nhấn đúp vào hệ điều hành iPhone, chủ yếu được sử dụng cho các chế độ xem có thể thu phóng để phóng to/thu nhỏ vùng tiêu điểm. Nó có thể không trực quan đối với người dùng nếu bạn thực hiện cử chỉ để thực hiện các hành động khác.
Swift 3:
button.addTarget(self, action: #selector(multipleTap(_:event:)), for: UIControlEvents.touchDownRepeat)
Và sau đó:
func multipleTap(_ sender: UIButton, event: UIEvent) {
let touch: UITouch = event.allTouches!.first!
if (touch.tapCount == 2) {
// do action.
}
}
Cảm ơn, đây là giải pháp sạch – Aitul
Điều này có thể hữu ích trong việc ngăn ngừa các thao tác nhấn không mong muốn. Ví dụ nếu bạn đang thực hiện một yêu cầu đến một máy chủ. – johnnymire
@johnnymire: Bạn cũng có thể tắt ngay lập tức nút sau lần nhấp đầu tiên. – kennytm
cố gắng sử dụng này cho sự kiện nút
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. iOS - Nhấn đúp vào uibutton
- 2. Hủy liên lạc UIButton trong khi chạm vào nó
- 3. Tùy chỉnh UIButton không làm nổi bật khi chạm vào
- 4. Nhấn đúp hoặc hai lần chạm một lần?
- 5. giới hạn vùng có thể chạm vào trong UIButton trong IPhone?
- 6. Thêm UIView vào chế độ xem phụ UIButton ngăn sự kiện chạm
- 7. Tại sao UIButton không phản hồi lại các lần chạm?
- 8. Nhấn đúp vào UITableViewCell
- 9. Chạm vào UIScrollView và chạm vào màn hình phụ
- 10. mục DataGridView nhấp đúp vào
- 11. Nhấp đúp vào hàng DataGridView?
- 12. ACTION_CANCEL khi chạm vào
- 13. UIButton chạm vào bên trong sự kiện không hoạt động trong ios5 trong khi nó ok trong ios6
- 14. Fading vào và ra UIButton trong giao diện
- 15. UIButton bên trong UIView không phản hồi các sự kiện chạm
- 16. ASP.Net nhấp đúp vào vấn đề
- 17. Bắt nhấp đúp vào Cocoa OSX
- 18. Nhấp đúp vào Làm Nổi bật
- 19. vấn đề chính xác đúp vào NET
- 20. Javafx 2 nhấp và nhấp đúp vào
- 21. NSImageView nhấp đúp vào hành động
- 22. remap NERDTree Nhấp đúp vào 'T'
- 23. Nhấp đúp vào vs java -jar MyJar.jar
- 24. Android: Hai sự kiện khác nhau cho một lần chạm và nhấn và nhấn đúp?
- 25. locationOfKết quả chạm vào SIGABRT
- 26. Thêm UIButton làm subview vào UITabBar
- 27. Thêm hoạt ảnh lựa chọn vào UIButton
- 28. Cách thêm UIButton vào thời gian chạy
- 29. javascript cho phép nhập vào nhấp đúp vào
- 30. Sự kiện UIButton. Có gì khác biệt?
đúp cảm động không phải là một lập trường ard, cũng không phải là hành vi UIButton rõ ràng. Bạn nên xem xét lại lý do tại sao bạn cần hành động này. –