2011-09-11 12 views
6

यदि मैं एक्सकोड 4.1 में एक प्रोजेक्ट बनाता हूं, और मेनमेनू.एक्सिब को दो एनएसपीनल के लिए सेट करता हूं, और दोनों पैनलों में एनएसटीक्स्टफिल्ड डालता हूं, अगर मैं एनएसपीनल में से एक को "टाइटल बार" दिखाने के लिए सेट करता हूं, तो टेक्स्टफील्ड के भीतर उस पैनल पर क्लिक नहीं किया जा सकता है या फोकस नहीं दिया जा सकता है।"टाइटल बार" दिखाई देने पर मुझे एनएसपीनल के भीतर फोकस क्यों नहीं मिल सकता है?

क्यों ??

उत्तर

9

टाइटलबार के बिना एक विंडो (या एक पैनल) कुंजी नहीं बन सकता है, इसलिए इसे फोकस नहीं मिल सकता है। आप इसे उपवर्ग और उसके - (BOOL)canBecomeKey विधि ओवरराइड, इस तरह है:

@interface MyPanel : NSPanel 
@end 

@implementation MyPanel 

- (BOOL)canBecomeKeyWindow { 
    return YES; 
} 

@end 
+0

धन्यवाद, मैं सिर्फ यह सही है। – Nickkk

+0

त्वरित और बिंदु पर। :) –

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