2012-10-23 18 views
8

मैं 10.7+ पर Mail.app और Finder.app की टोकनयुक्त खोज सुविधा का अनुकरण करने की कोशिश कर रहा हूं, जहां बाईं ओर एक खोज आवर्धक ग्लास आइकन के साथ एक NSSearchField दिखता है और दाईं ओर रद्द (x) बटन , लेकिन खोज क्षेत्र के अंदर टोकन भी शामिल है।NSSearchField NSTokenFieldCell का उपयोग करें?

NSSearchField with tokens

वहाँ NSSearchField एक NSTokenFieldCell का उपयोग एक NSSearchFieldCell के बजाय बनाने के लिए कोई तरीका है? मैंने NSSearchField इंस्टेंस पर -setCell: पर कॉल करने का प्रयास किया है, जो काम करता है और डीबगर में po [searchField cell] पर कॉल करके प्रमाणित सेल को स्वैप करने लगता है, लेकिन खोज फ़ील्ड का चित्र टूट जाता है और कोई टेक्स्ट फ़ील्ड नहीं खींचा जाता है।

क्या मैं इसे सही तरीके से देख रहा हूं या क्या ऐसा करने का एक बेहतर तरीका है? धन्यवाद!

अद्यतन 2016/10/25: सरल उपयोग इंस्पेक्टर का उपयोग करते हुए मैंने पाया कि खोजक और मेल एक मिश्रण निजी उपवर्गों का उपयोग करें:

  • SGTSearchField : NSSearchField
    • SGTSearchFieldCell : NSSearchFieldCell
    • SGTTokenFieldCell : NSTokenFieldCell

ये Suggestions.framework नामक एक निजी ढांचे का हिस्सा हैं। उम्मीद है कि ऐप्पल इन कक्षाओं को भविष्य में सार्वजनिक कर देगा। यदि आप इस कार्यक्षमता को भी सार्वजनिक देखना चाहते हैं तो file a radar पर सुनिश्चित करें।

+0

टोकनयुक्त खोज बार को लागू करने का प्रयास करते समय मैं एक ही प्रश्न पर आया हूं। चूंकि मैं पहले NSSearchField का उपयोग कर रहा था, इसलिए मैं NSSearchField और NSTokenField को गठबंधन करने की विधि भी ढूंढ रहा हूं। क्या आपको कोई समाधान मिला है? –

उत्तर

0

मेरे लिए आपके पास दो जवाब है, बस एनएसटीकेनफ़िल्ल्ड के साथ जाना है। आप छोटे खोज आइकन को प्रदर्शित करने के लिए इसे संशोधित करने में सक्षम हो सकते हैं। लेकिन अगर यह नहीं बना या तोड़ता है, तो आप एनएसटीकेनफ़िल्ल्ड से बहुत सारी टोकनयुक्त कार्यक्षमता प्राप्त कर सकते हैं।