Tôi khá mới đối với lập trình và Mục tiêu C. Tôi đã tự hỏi làm cách nào để tạo một ứng dụng có màn hình trống và hẹn giờ trong một phút. Bạn có nghĩa là để khai thác nhanh như bạn có thể và miễn là bạn có thể cho. Tôi đã tự hỏi làm thế nào để thực hiện các UITapGestureRecognizer
vào mã của tôi.Làm cách nào để cài đặt UITapGestureRecognizer vào ứng dụng của tôi
Trả lời
Đây là một hướng dẫn từng bước về cách thực hiện recognizers cử chỉ trong lớp học của bạn:
Phù hợp với lớp học của bạn để
UIGestureRecognizerDelegate
giao thức.Khởi tạo trình nhận dạng cử chỉ. Ví dụ, để tạo một
UITapGestureRecognizer
, chúng tôi sẽ làm:UITapGestureRecognizer *tapGestureRecognizer = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(handleTapFrom:)];
Ở đây, hành động là bộ chọn mà sẽ xử lý các cử chỉ. Ở đây, bộ xử lý chọn của chúng tôiTapFrom sẽ trông giống như sau:
- (void) handleTapFrom: (UITapGestureRecognizer *)recognizer { //Code to handle the gesture }
Đối số cho bộ chọn là bộ nhận dạng cử chỉ. Chúng tôi có thể sử dụng trình nhận dạng cử chỉ này để truy cập các thuộc tính của nó, ví dụ: chúng tôi có thể tìm trạng thái của trình nhận dạng cử chỉ, như
UIGestureRecognizerStateBegan
,UIGestureRecognizerStateEnded
, v.v.Đặt thuộc tính mong muốn trên trình nhận dạng cử chỉ tức thời. Ví dụ: đối với số
UITapGestureRecognizer
, chúng tôi có thể đặt các thuộc tínhnumberOfTapsRequired
vànumberOfTouchesRequired
.Thêm trình nhận dạng cử chỉ vào chế độ xem bạn muốn phát hiện cử chỉ. Trong mẫu mã của chúng tôi (Tôi sẽ chia sẻ rằng mã để bạn tham khảo), chúng tôi sẽ bổ sung thêm recognizers cử chỉ đến một IMAGExem với dòng mã sau đây:
[self.imageView addGestureRecognizer:tapGestureRecognizer];
Sau khi thêm bộ nhận dạng cử chỉ để xem, thiết lập ủy nhiệm cho trình nhận dạng cử chỉ, tức là lớp sẽ xử lý tất cả các công cụ nhận dạng cử chỉ. Trong mã mẫu của chúng tôi, nó sẽ như thế nào:
tapGestureRecognizer.delegate = self;
Lưu ý: Gán các đại biểu sau khi thêm bộ nhận dạng cử chỉ để xem. Nếu không, phương thức hành động sẽ không được gọi.
Xin lỗi vì định dạng không phù hợp !!! –
Cảm ơn bạn rất nhiều vì đã giúp đỡ! –
Không có gì phải xin lỗi. Có một đường cong học tập khi nói đến định dạng đánh dấu xuống. – nhahtdh
UITapGestureRecognizer *gestureRecognizer = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(hideKeyboard)];
[self.tableView addGestureRecognizer:gestureRecognizer];
self.tableView.userInteractionEnabled = YES;
gestureRecognizer.cancelsTouchesInView = NO; // this prevents the gesture recognizers to 'block' touches
Ví dụ trong Swift:
import UIKit
class ViewController: UIViewController {
@IBOutlet var myUIImageView: UIImageView!
override func viewDidLoad() {
super.viewDidLoad()
let singleTap: UITapGestureRecognizer = UITapGestureRecognizer(target: self, action: "myUIImageViewTapped:")
singleTap.numberOfTapsRequired = 1
singleTap.numberOfTouchesRequired = 1
self.myUIImageView.addGestureRecognizer(singleTap)
self.myUIImageView.userInteractionEnabled = true
}
func myUIImageViewTapped(recognizer: UITapGestureRecognizer) {
if(recognizer.state == UIGestureRecognizerState.Ended){
println("myUIImageView has been tapped by the user.")
}
}
}
Đúng vậy, userInteractionEnabled là điều cần thiết. Cảm ơn! –
Tôi không hiểu tại sao cần phải kiểm tra "recognizer.state == UIGestureRecognizerState.Ended". Tôi đã thử nghiệm điều này và nó hoạt động mà không có nó là tốt. Giả định của tôi là bạn cần nó để nhận dạng cử chỉ đa chạm nhưng chỉ với một lần chạm, chúng ta vẫn cần nó? – plam4u
Nếu bạn đang làm việc Swift (iOS9) và SpriteKit, hãy thử những điều sau đây.
class GameScene: SKScene {
override func didMoveToView(view: SKView) {
let singleTap = UITapGestureRecognizer(target:self, action:#selector(self.handleSingleTap:))
singleTap.numberOfTouchesRequired = 1
singleTap.addTarget(self, action:#selector(self.handleSingleTap))
view.userInteractionEnabled = true
view.addGestureRecognizer(singleTap)
}
//event handler
func handleSingleTap(sender:UITapGestureRecognizer){
print("tapped")
}
}
- 1. Làm cách nào để cài đặt JQuery vào ứng dụng web của tôi bằng Maven?
- 2. Làm cách nào để mở ứng dụng Cài đặt từ ứng dụng của tôi?
- 3. Tập lệnh cài đặt ứng dụng Django - Cách thêm ứng dụng vào cài đặt INSTALLED_APPS?
- 4. Nhiều cài đặt ứng dụng của tôi - cách tôi xử lý ứng dụng
- 5. cách cài đặt ứng dụng của tôi trên trang myfan
- 6. Làm cách nào để ngăn gỡ cài đặt ứng dụng?
- 7. Làm thế nào để cài đặt cho ứng dụng C# của tôi?
- 8. Tôi làm cách nào để cài đặt ứng dụng C# không có quyền quản trị?
- 9. Làm cách nào để đặt cài đặt ứng dụng tại thời điểm cài đặt (thông qua lớp trình cài đặt)
- 10. Làm cách nào để thêm Thỏa thuận Cấp phép vào trình cài đặt ứng dụng AIR?
- 11. Làm cách nào để thay đổi cài đặt ứng dụng (Cài đặt) trong khi ứng dụng đang mở?
- 12. Cách cài đặt tệp .ipa vào iPhone của tôi?
- 13. Làm cách nào để buộc `setup.py test` cài đặt các phụ thuộc vào` virtualenv` của tôi?
- 14. Cách cấu hình qmake để ứng dụng của tôi được cài đặt với "make install"?
- 15. Làm cách nào để cài đặt apt-get vào virtualenv của tôi?
- 16. Cách thêm tệp MSI vào trình cài đặt của tôi
- 17. Làm thế nào để khởi chạy Cài đặt sẵn có ứng dụng từ ứng dụng của chúng tôi?
- 18. Làm cách nào để cài đặt ứng dụng HTML5 trên Android Market và AppStore của Apple?
- 19. Làm cách nào để ứng dụng Delphi phát hiện cài đặt proxy mạng của PC Windows?
- 20. Làm cách nào để gỡ cài đặt hoàn toàn ứng dụng ClickOnce khỏi máy tính của tôi?
- 21. Làm cách nào để biết ứng dụng của tôi đã được gỡ cài đặt khỏi thiết bị ...?
- 22. Làm cách nào để phát hiện, qua javascript trong Safari Mobile, nếu ứng dụng iPhone của tôi được cài đặt?
- 23. Làm cách nào để đặt biểu tượng cho gói ứng dụng Mac OS X của ứng dụng của tôi?
- 24. Tôi làm cách nào để cài đặt Lua trên MacOS?
- 25. làm cách nào để ứng dụng của tôi đọc cấu hình ứng dụng thay vì machine.config?
- 26. android: làm cách nào để mở ứng dụng khác từ ứng dụng của tôi?
- 27. Làm thế nào để thêm Grails vào đám mây của tôi cài đặt Jenkins?
- 28. Cài đặt ứng dụng
- 29. Cách chúng tôi biết nếu ứng dụng của chúng tôi đã gỡ cài đặt từ iphone?
- 30. Cách tìm thư mục cài đặt của ứng dụng Qt?
Giúp bản thân: https://github.com/nhahtdh/PS3/blob/master/Game/GameBlock.m – nhahtdh