Có cách nào dễ dàng để phát hiện các loại cử chỉ này cho iPhone không? Tôi có thể sử dụng touchesBegan, touchesMoved, touchesEnded. Nhưng làm thế nào tôi có thể thực hiện các cử chỉ? thz u.Làm thế nào để phát hiện swiping trái/phải trên iPhone?
Trả lời
Bạn đang đi đúng hướng. Trong touchesBạn nên lưu trữ vị trí mà người dùng chạm vào màn hình lần đầu tiên.
- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event {
UITouch *touch = [touches anyObject];
self.startPosition = [touch locationInView:self];
}
Mã tương tự trong lần chạmĐược cung cấp cho bạn vị trí cuối cùng. Bằng cách so sánh hai vị trí bạn có thể xác định hướng chuyển động. Nếu tọa độ x đã vượt quá một sự khoan dung nhất định, bạn có một swipe trái hoặc phải.
- (void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event {
UITouch *touch = [touches anyObject];
CGPoint endPosition = [touch locationInView:self];
if (startPosition.x < endPosition.x) {
// Right swipe
} else {
// Left swipe
}
}
Bạn không cần chạm vàoMua trừ khi bạn muốn phát hiện và theo dõi khi người dùng vẫn chạm vào màn hình. Nó cũng có thể là giá trị thử nghiệm mà người dùng đã di chuyển một khoảng cách tối thiểu trước khi quyết định họ đã thực hiện một swipe.
Nếu bạn sẵn sàng nhắm mục tiêu hệ điều hành iPhone 3.2 trở lên (tất cả iPad hoặc iPhone được cập nhật), hãy sử dụng đối tượng UISwipeGestureRecognizer
. Nó sẽ làm điều này một cách tầm thường, điều này thật tuyệt vời.
Bạn sẽ sử dụng UISwipeGestureRecognizer Object để phát hiện sự Touch và hướng Swipe Trong
UIView hoặc bất cứ nơi nào trong iphone sdk.
UISwipeGestureRecognizer *rightRecognizer = [[UISwipeGestureRecognizer alloc] initWithTarget:self action:@selector(rightSwipeHandle:)];
rightRecognizer.direction = UISwipeGestureRecognizerDirectionRight;
[rightRecognizer setNumberOfTouchesRequired:1];
//add the your gestureRecognizer , where to detect the touch..
[view1 addGestureRecognizer:rightRecognizer];
[rightRecognizer release];
UISwipeGestureRecognizer *leftRecognizer = [[UISwipeGestureRecognizer alloc] initWithTarget:self action:@selector(leftSwipeHandle:)];
leftRecognizer.direction = UISwipeGestureRecognizerDirectionLeft;
[leftRecognizer setNumberOfTouchesRequired:1];
[view1 addGestureRecognizer:leftRecognizer];
[leftRecognizer release];
- (void)rightSwipeHandle:(UISwipeGestureRecognizer*)gestureRecognizer
{
NSLog(@"rightSwipeHandle");
}
- (void)leftSwipeHandle:(UISwipeGestureRecognizer*)gestureRecognizer
{
NSLog(@"leftSwipeHandle");
}
Tôi nghĩ rằng đây giải pháp các tốt hơn cho vấn đề của bạn
Cảm ơn bạn đã chia sẻ, nó hoạt động. – Signcodeindie
- 1. Làm thế nào để phát hiện iPhone trên mạng?
- 2. iPhone - Làm cách nào để phát hiện phiên bản iPhone?
- 3. Làm thế nào để phát hiện độ phân giải kết cấu tối đa trên iPhone?
- 4. Làm thế nào để phát hiện tần số âm thanh/quảng cáo chiêu hàng trên iPhone?
- 5. Làm thế nào để phát hiện liên lạc trên UIWebView
- 6. Phát hiện thổi trên micrô iPhone?
- 7. Tôi làm cách nào để ghi lại âm thanh hiện đang phát trên iPhone?
- 8. Làm thế nào để phát hiện iPhone/Android thức từ giấc ngủ với javascript
- 9. Làm thế nào để lập trình phát hiện tai nghe trong iphone?
- 10. làm thế nào để phát hiện thổi từ mic không bằng giọng nói trong iphone?
- 11. Làm thế nào để phát hiện xem iPhone có màn hình võng mạc hay không?
- 12. Làm thế nào để thực hiện cử chỉ chụm trên iPhone?
- 13. Phát hiện các điểm sáng/tối trên màn hình iPhone
- 14. Làm thế nào để tôi lập trình phát nhạc MP3 trên iPhone?
- 15. NSSetUncaughtExceptionHandler không phát hiện tất cả lỗi trên iPhone
- 16. Phát hiện ứng dụng trên màn hình chính của iphone
- 17. Làm thế nào để phát hiện sự hiện diện và vị trí của JVM trên Windows?
- 18. Làm thế nào để phát hiện nếu M7 là hiện nay, a.k.a nó là một iPhone 5S hoặc mới hơn?
- 19. Phát hiện Trình duyệt iPhone
- 20. Làm thế nào để phát hiện HTC Sense?
- 21. cách nào để phát hiện iPad hoặc iPhone trên mạng không dây? bonjour?
- 22. Làm thế nào để phát hiện vòi trên MKPolylines/Lớp phủ như Maps.app?
- 23. Làm cách nào để phát hiện dpi trên iPad mini?
- 24. iPhone: Phát hiện Chạm trong MKMapView
- 25. Làm thế nào để phát hiện chiều cao của iPhone (để sử dụng trong trò chơi tăng cường thực tế)?
- 26. Phát hiện loại iPhone bị gián đoạn
- 27. Làm cách nào để phát hiện người dùng trên iPhone có "Duyệt web riêng tư" được bật?
- 28. Làm thế nào để phát hiện .NET 4 từ ASP.NET?
- 29. Làm thế nào để phát hiện một cuộc gọi Selector.wakeup
- 30. Làm thế nào để phát hiện deadlocks trong Mysql/innodb?
quixoto là đúng, được xây dựng GestureRecognizer là tốt hơn. – fyasar
tôi có thể sử dụng nó cho UITableview không? – Mashhadi
Điều này khá lỗi thời, sử dụng 'UISwipeGestureRecognizer' sạch hơn nhiều (iOS 9) – Cbas