2010-07-09 16 views
9

मैं गतिशील रूप से एक विंडो में NSTextField जोड़ रहा हूं और मुझे प्रतिपादन के साथ समस्याएं हैं। मैं पृष्ठभूमि रंग को काला और टेक्स्ट रंग सफेद होने के लिए सेट कर रहा हूं। ये दोनों काम करते हैं लेकिन उनका एक आयताकार प्रतीत होता है जो हमेशा सफेद होता है जो पाठ का हिस्सा होता है। क्या किसी को पता है कि मैं गलत क्या कर रहा हूं? मैं सफेद पृष्ठभूमि से कैसे छुटकारा पा सकता हूं जो पाठ के आसपास है? कोड निम्नानुसार है:NSTextField रंग मुद्दे

//Create rectangle to size text field 

NSRect textFieldRect = NSMakeRect(300, 300, 300, 54); 

//Instantiate text field and set defaults 
NSTextField* textField = [[NSTextField alloc] initWithFrame:textFieldRect]; 

[textField setFont:[NSFont fontWithName:@"Arial" size:48]]; 

[textField setTextColor:[NSColor whiteColor]]; 

[textField setStringValue:@"Some Text"]; 

[textField setBackgroundColor:[NSColor blackColor]]; 

[textField setDrawsBackground:YES]; 

[textField setBordered:NO]; 

[[window contentView] addSubview:textField]; 

उत्तर

11

मै मैक ओएस एक्स 10.6.4 पर आपके कोड की कोशिश की।

आवेदन प्रतिनिधि अंदर

:

- (void)applicationDidFinishLaunching:(NSNotification *)aNotification { 
    NSRect textFieldRect = NSMakeRect(300, 300, 300, 54); 
    NSTextField* textField = [[NSTextField alloc] initWithFrame:textFieldRect]; 
    [textField setFont:[NSFont fontWithName:@"Arial" size:48]]; 
    [textField setTextColor:[NSColor whiteColor]]; 
    [textField setStringValue:@"Some Text"]; 
    [textField setBackgroundColor:[NSColor blackColor]]; 
    [textField setDrawsBackground:YES]; 
    [textField setBordered:NO]; 
    [[window contentView] addSubview:textField]; 
} 

और यह परिणाम

alt text http://www.freeimagehosting.net/uploads/26c04b6b64.png

मैं किसी भी सफेद बॉक्स नहीं देख सकता है।
शायद आप एक अलग ओएस का उपयोग कर रहे हैं।
या शायद आपके पास एक दूसरे के शीर्ष पर कुछ अन्य विचार हैं जो अजीब प्रभाव पैदा कर रहे हैं जिसके बारे में आप बात कर रहे हैं।

+0

त्वरित प्रतिक्रिया फ्लोरिन के लिए धन्यवाद, शायद कुछ महत्वपूर्ण है, मैं एक गतिशील रूप से बनाए गए एनएसविंडो में एनएसटीक्स्टफिल्ड जोड़ रहा हूं जिसमें एक काला पृष्ठभूमि है। निश्चित नहीं है कि इससे कोई फर्क पड़ता है लेकिन आपको यह समझना चाहिए कि मुझे वही समस्या नहीं है। –

+0

लिंक टूटा हुआ है। आपने इसे SO पर क्यों अपलोड नहीं किया है? – SpaceDog

0

ठीक है,

रहस्य आंशिक रूप से हल किया गया है। मेरे एनएसटीक्स्टफिल्ड के संयोजन के साथ, मैं एप्लिकेशन को कियोस्क मोड में रखने के लिए कुछ एनएसपीप्लिकेशन प्रस्तुतियां भी सेट कर रहा हूं। ऐसा प्रतीत होता है कि इसके साथ कुछ समस्या जो मैं देख रहा हूं। यदि मैं प्रेजेंटेशन ऑप्शन सेट नहीं करता हूं तो एनएसटीक्स्टफिल्ड बिल्कुल वैसे ही प्रदर्शित करता है जैसा मैं चाहता हूं। मैं ट्रैक करूँगा कि किस विशिष्ट प्रेजेंटेशनऑप्शन को दोष देना है और यहां पोस्ट करना है।

+0

ऐसा प्रतीत होता है कि पर कॉल [एनएसएपीपी सेट प्रस्तुतिकरण विकल्प:] दोष देना है। यहां तक ​​कि अगर मैं इसे डिफ़ॉल्ट पर सेट करता हूं, तो यह टेक्स्ट को एक सफेद पृष्ठभूमि का कारण बन जाएगा। हम्म ..... –

2

अपने NSTextField ऑब्जेक्ट की refusesFirstResponder = TRUE प्रॉपर्टी सेट करने का प्रयास करें। मैं 10.7 में वर्णित व्यवहार में आया हूं, 10.6 में सब कुछ अपेक्षित काम करता है।

+0

सिएरा पर मेरे लिए कोई फर्क नहीं पड़ता – SpaceDog

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