2013-05-18 6 views
12

मैं इस NSAlert की तरह कुछ करना चाहते हैं। मैं यह कैसे कर सकता हूँ?
यहाँ कोड का एक उदाहरण है कि मैं अपने NSAlert बनाने के लिए उपयोग है, लेकिन पहला बटन फोकस हो जाता है:NSAlert का दूसरा बटन रिटर्न बटन कैसे बनाएं? <br><img src="https://i.stack.imgur.com/BECTB.png" alt="enter image description here"></p> <p>आप देख सकते हैं, 'वापसी' बटन दूसरे से एक है:

NSAlert *alert = [[NSAlert alloc] init]; 
[alert setMessageText:@"Are you sure you want to disconnect?"]; 
[alert addButtonWithTitle:@"Disconnect"]; 
[alert addButtonWithTitle:@"Cancel"]; 
[alert runModal]; 

मैं "रद्द करें" बटन ध्यान केंद्रित करना चाहते। कोई विचार? धन्यवाद!

+0

कॉल करने से पहले आप इस कोको-देव धागा में रुचि हो सकती:

उदाहरण के लिए, ESC होने की Disconnect स्थापित करने के लिए और Cancel वापसी होने के लिए, आपको निम्न करना होगा : [सही बटन को सही बटन बनाना?] (Http://www.cocoabuilder.com/archive/cocoa/96603-making-the-correct-button-the-default-button.html) –

उत्तर

17

NSAlert वस्तु के अंदर NSButton तत्वों के लिए कुंजी समकक्ष को बदलने के लिए, आप बटन सीधे (निर्माण के बाद और -runModal से पहले) का उपयोग और -setKeyEquivalent: पद्धति का उपयोग करके कुंजी समकक्ष बदलना होगा।

NSArray *buttons = [alert buttons]; 
// note: rightmost button is index 0 
[[buttons objectAtIndex:1] setKeyEquivalent: @"\033"]; 
[[buttons objectAtIndex:0] setKeyEquivalent:@"\r"]; 

-runModal

+0

पूरी तरह से काम किया! आपका बहुत बहुत धन्यवाद! –

+0

सही अधिकांश बटन ("डिस्कनेक्ट") इंडेक्स 0 पर है। इसकी कुंजी "\ r" यानी ईएससी नहीं है। मुझे यह गलत हो सकता है? – LShi

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

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