2013-09-07 17 views
5

Kullanıcı türleri olarak aşağıda gösterildiği gibi bir "öneri listesi" ile NSTextField'a sahip olmanın en kolay yolu nedir? Tıpkı bir çeşit menüye sahip olan Safari'nin adres çubuğu gibi (oldukça köşeli Safari'nin adres çubuğu önerileri, köşeleri yuvarlatılmış olduğundan, mavi degrade seçiminden ve arka plan bulanıklığından dolayı menüdeyim).Safari adres çubuğu gibi otomatik önerileri içeren NSTextField? <code>NSTextField</code>

Ben NSTextView's autocompletion facility kullanarak denedim ama yetersiz olduğunu tespit ettik:

  • O yerine kelimeler bütün metin alanlarından tamamlamaya çalışsa - seçerek başka bir deyişle, yalnızca geçerli sözcüğü yerini alacak bir otomatik tamamlama öneri .
  • Otomatik tamamlama listesini öne doğru sarar ve metin alanına hizalamak yerine ekleme noktasıyla hizalayın.
Ben metin alanı sadece Abadi Abadi Kurniawan sonuçlanır listede önerilen öğe ile K değiştirir otomatik tamamlama önerileri seçilen her Yukarıdaki örnek ekran görüntüsünde

Sample autocomplete

.

bir öneri seçildiğinde
  • tüm metin alanı önerisi ile değiştirilmiştir:

    Bunlar

    Ben başarmak istiyorum şeylerdir.
  • Öneri listesinin metin alanının sol tarafı ile aynı hizada olmasını sağlayın.

Not: Bu değildir bir soru hakkında adding progress indicator behind a text field.

cevap

2

Bu, yalnızca yanıtınızın yarısını gösterir, ancak NSTextView'un alt sınıfını almanız ve - (NSRange)rangeForUserCompletion yöntemini uygulamanız ve tüm metin alanının aralığını metin alanına döndürmeniz gerekir. Bu, en son girilen kelimeyi otomatik olarak tamamlamadığından emin olmalıdır.

Özel bir menü isterseniz, muhtemelen -controlTextDidChange: yöntemini uygulayarak ve uygun olduğunda bir tabloyla özel bir görünüm görüntüleyerek bunu kendiniz yapmanız gerekecektir.