2012-05-29 21 views
9

iOS için jest tanıyıcıları ile biraz yaptım, ancak şimdi OS X'te iş yapıyorum ve ben kayıdım.OS X'de jest tanıyıcıları nasıl uygularım?

Finder'da varolan işlevselliği çoğaltmak istiyorum, böylece bir dizin ağacından ileri/geri gitmek için iki parmağınızla (sihirli farenizde) kaydırma yapabilirsiniz.

Finder'a çok benzeyen NSWindow tabanlı bir uygulamam var. Kendi jest tanımlayıcılarınızı oluşturmanıza izin vermeden önce uygulamaları kullandım, bu yüzden bunu yapmanın mümkün olduğunu biliyorum, ancak üzerinde herhangi bir belge göremiyorum.

Bu hareketleri uygulamak için ne yapmam gerekiyor?

cevap

3

Kakao Etkinlik İşleme kılavuzunda Handling Trackpad Events hakkında bilgi bulabilirsiniz. Sistem önceden tanımlanmış bazı hareketleri algılayabilir (kaydırma, döndürme, vb.) Veya NSResponder zincirini hareket ettiren ham dokunma olaylarını, normal fare olayları gibi dinleyebilirsiniz.

0

Ayrıca, CZKit'te bir Olay Tanıma sınıfı da var gibi görünüyor. https://github.com/CarterA/CZKit

Bunu henüz kullanmadım (bu yüzden), YMMV.

+0

Bu lib'deki hareketlerle ilgili hiçbir şey bulunamadı. – eonist

+0

Hala kullanmadım ve README'den ne yapması gerektiğini bile hatırlayamıyorum, ama bu dizindeki "CZActionRecognizer" sınıfına atıfta bulunduğumu varsayalım: https://github.com/CarterA/ CZKit/ağaç/usta/Kütüphaneler/CZUI/Sınıflar Bu genel jest/eylemler için bir temel sınıf olması gerekiyor gibi görünüyor. Tıklamaları tanımak istemediğiniz sürece, gerçek tanıyıcıları kendiniz yazmanız gerekecek gibi görünüyor. İyi şanslar! – livingtech

+0

Potansiyel bir Gesture etkinliği için genel olay işleyicisi? Yapabileceğim en iyi yorum. Tahmin ettiğim biri için bağlamsal önemli olabilir. Açıklamak için çabalamak için başparmak yukarıya. :) Hareket olaylarıyla ilgili bilgi arayan diğerlerine not olarak: Bulduğum şey iki yaklaşımın var olmasıdır. Biri, NSView'deki hareket yöntemlerini geçersiz kılmaktır. Diğer ve daha modern yaklaşım, Gesture tanıyıcılarına "Seçiciler" eklemektir. Daha sonra, jest başladığında ve bittiğinde vb. Daha iyi kontrol sağlar. Aynı şey geçersiz kılarak da başarılabilir. Sadece kolayca değil. – eonist

2

Mac şimdi vardır: storyboardlar mevcuttur

  • NSClickGestureRecognizer
  • NSMagnificationGestureRecognizer
  • NSPanGestureRecognizer
  • NSPressGestureRecognizer
  • NSRotationGestureRecognizer

de.