2012-05-29 27 views
9

Tôi đã thực hiện khá nhiều công cụ nhận dạng cử chỉ cho iOS, nhưng hiện tại tôi đang làm việc trong OS X và tôi bị mất.Tôi làm cách nào để triển khai trình nhận dạng cử chỉ trong OS X?

Tôi muốn sao chép chức năng tồn tại như trong Trình tìm kiếm, nơi bạn có thể vuốt hai ngón tay (trên con chuột ma thuật) để quay lại/chuyển tiếp qua cây thư mục.

Tôi có một ứng dụng dựa trên NSWindow trông rất giống với Finder. Tôi đã sử dụng các ứng dụng trước đó cho phép bạn xây dựng trình nhận dạng cử chỉ của riêng mình để tôi biết có thể làm điều đó, nhưng tôi không thấy bất kỳ tài liệu nào về nó.

Tôi cần làm gì để triển khai các cử chỉ này?

Trả lời

3

Bạn có thể đọc khoảng Handling Trackpad Events trong hướng dẫn Xử lý sự kiện ca cao. Hệ thống có thể phát hiện một số cử chỉ được xác định trước (vuốt, xoay, v.v.) hoặc bạn có thể nghe các sự kiện chạm thô, đi lên chuỗi NSResponder, giống như các sự kiện chuột thông thường.

0

Có vẻ như cũng có một lớp Trình nhận dạng sự kiện trong CZKit. https://github.com/CarterA/CZKit

Tôi chưa sử dụng (chưa), vì vậy YMMV.

+0

Không thể tìm thấy bất kỳ thứ gì liên quan đến cử chỉ trong lib đó. – eonist

+0

Tôi vẫn chưa sử dụng nó, và từ README thậm chí không thể nhớ những gì nó phải làm, nhưng tôi giả sử tôi đang đề cập đến lớp 'CZActionRecognizer' trong thư mục này: https://github.com/CarterA/ CZKit/cây/chủ/Thư viện/CZUI/Lớp học Có vẻ như đó là nghĩa vụ phải là một lớp cơ sở cho cử chỉ chung/hành động. Có vẻ như bạn sẽ cần tự viết bất kỳ trình nhận dạng thực nào, trừ khi bạn chỉ muốn nhận ra các nhấp chuột. Chúc may mắn! – livingtech

+0

Trình xử lý sự kiện chung của nó cho một sự kiện cử chỉ tiềm năng? Đó là giải thích tốt nhất tôi có thể thực hiện. Có thể là ngữ cảnh quan trọng đối với người tôi đoán. Thumbs up cho các nỗ lực để giải thích. :) Là một lưu ý cho những người khác đang tìm kiếm thông tin liên quan đến các sự kiện cử chỉ: Những gì tôi đã tìm thấy là có hai cách tiếp cận. Một là ghi đè các phương thức cử chỉ trong NSView. Cách tiếp cận khác và hiện đại hơn là thêm "Selectors" vào bộ nhận dạng cử chỉ. Sau này cung cấp kiểm soát tốt hơn khi cử chỉ bắt đầu và kết thúc vv Mặc dù cùng có thể đạt được bằng cách ghi đè. Chỉ đơn giản là không dễ dàng. – eonist

2

Mac hiện có:

  • NSClickGestureRecognizer
  • NSMagnificationGestureRecognizer
  • NSPanGestureRecognizer
  • NSPressGestureRecognizer
  • NSRotationGestureRecognizer

Có sẵn trong cốt truyện quá.