2009-02-19 15 views
7

मैं चयनित NSToolbarItem जैसे हाइलाइट करना चाहता हूं उदा। एडियम में (स्क्रीनशॉट देखें)।NSToolbarItems को हाइलाइट करें

highlight http://a2.s3.p.quickshareit.com/files/screenshot_b28b67ba9411513d6.png

वहाँ एक आसान तरीका है? यदि नहीं, तो मुझे मुश्किल बताओ। =)

उत्तर

13

चक के उत्तर पर विस्तार करने के लिए, आपको बस अपने नियंत्रक को अपने एनएसटीयूएलबार के प्रतिनिधि को बनाने और टूलबार को चुनने की आवश्यकता है चयन करने योग्य ItemIdentifiers: इसमें प्रतिनिधि विधि। ,

- (NSArray *)toolbarSelectableItemIdentifiers:(NSToolbar *)toolbar 
{ 
    NSMutableArray *allIdentifiers = [[NSMutableArray alloc] init]; 

    for (NSToolbarItem *toolbarItem in [toolbar items]) 
    { 
     if (![[toolbarItem label] isEqualToString:@"Inspect"]) 
      [allIdentifiers addObject:[toolbarItem itemIdentifier]]; 
    } 

    return [allIdentifiers autorelease]; 
} 

मैं एक उदाहरण चर में allIdentifiers सरणी कैश जब मैं कुछ इस तरह करते हैं तो: उदाहरण के लिए, निम्नलिखित कार्यान्वयन आप लेबल "निरीक्षण" एक को छोड़कर हर उपकरण पट्टी आइटम पर चयन को उजागर बनाए रखने दूँगी कि मुझे केवल एक बार सरणी निर्माण करना है।

+1

एक्सकोड 4 के लिए इंटरफ़ेस बिल्डर में अब एक छोटा सा चेकबॉक्स है जब आप टूलबार आइटम पर क्लिक करते हैं जो चुनने योग्य कहता है, लेकिन इसे जांचना कुछ भी नहीं लगता है। कोई विचार? – Tony

+0

@ टोनी - बस इंटरफ़ेस बिल्डर में यह स्वयं की कोशिश की और यह उपरोक्त कोड के बिना भी मेरे आवेदन के लिए ठीक काम किया। निश्चित नहीं है कि यह आपके मामले में क्यों काम नहीं करता है। –

+2

पता चला है कि आपको वास्तव में सभी टूल बार आइटम्स को एक एक्शन में हुक करने की आवश्यकता है ताकि वे 'सक्षम' हो जाएं – Tony

8

यदि आपने इंटरफ़ेस बिल्डर में अपनी टूलबार बनाई है, तो आप व्यक्तिगत NSToolbarItems पर क्लिक कर सकते हैं और उन लोगों के लिए इंस्पेक्टर में चयन करने योग्य बॉक्स को चेक कर सकते हैं, जिन्हें आप देखना चाहते हैं। कोई कोड आवश्यक नहीं है।

+0

मैंने इसे इंटरफ़ेस बिल्डर में बनाया है और चेक-इन चेकबॉक्स चेक किया है, लेकिन कुछ भी नहीं होने लगता है। क्या ऐसा कुछ और करने की ज़रूरत है? – Tony

+0

कोई विचार नहीं, आईबी में इसे सेट करते समय ज्यादातर मामलों में तोड़ दिया जाता है, मैं केवल टूलबार के साथ काम करने के लिए इसे प्राप्त कर सकता हूं चयन करने योग्य ItemIdentifiers – valexa

संबंधित मुद्दे