2012-06-20 21 views
34

मैं पारदर्शीNSTextFieldNSTextField पारदर्शी पृष्ठभूमि

self.myTextField = [[NSTextField alloc] initWithFrame:CGRectMake(backgroundView.frame.origin.x + backgroundView.frame.size.width + 20, self.projectTitle.frame.origin.y - 30.0, 100, 20)]; 
self.myTextField.editable = NO; 
self.myTextField.bezeled = NO; 
self.myTextField.drawsBackground = YES; 
self.myTextField.backgroundColor = [NSColor clearColor]; 
self.myTextField.selectable = NO; 
self.myTextField.font = [NSFont fontWithName:@"Helvetica Neue" size:16]; 

    [self addSubview:self.compressingTime]; 

बना सकते हैं और एक परिणाम के पाठ के रूप में बुरा लग रहे हो। enter image description here अगर मैं पृष्ठभूमि रंग

सेट
self.myTextField.backgroundColor = [NSColor colorWithCalibratedRed:0.85 green:0.85 blue:0.85 alpha:1.0]; 

सब कुछ दिखता है ठीक enter image description here मैं भी तुम लोगों पता कैसे इसे ठीक करने के करो drawsBackground = NO; साथ की कोशिश की?

+0

क्या आप "बुरा" मतलब है? यह मुझे अच्छा लग रहा है? – Vervious

+0

@ दूसरी आईजीजी पर यह अविश्वसनीय लग रहा है जैसे एंटीअलाइजिंग चालू है, फ़र्ट्स पर फ़ॉन्ट आईएमजी ऊबड़ है। – pawelropa

+0

ओह, मैं अब देखता हूं। – Vervious

उत्तर

-2

मैं के बजाय CATextLayer का उपयोग कर समाप्त हुआ।

-2

स्पष्ट रंग वर्तमान दृश्य (यानी) एनएसटीक्स्टव्यू की पृष्ठभूमि को पारदर्शी के रूप में बनाएगा इसलिए NSView का रंग जिसमें NSTextView है, दिखाई दे रहा है।

+0

क्षमा करें कि यह नहीं है। – pawelropa

53

गुप्त NSTextField पर इन गुणों के सभी तीन सेट कर रहा है ...

myTextField.bezeled   = NO; 
myTextField.editable  = NO; 
myTextField.drawsBackground = NO; 
+2

अभी भी मेरे लिए काम नहीं करता है। –

+0

धन्यवाद, एनएसटीबल व्यू –

+0

प्रोग्रामेटिक रूप से पॉप्युलेट करने के लिए ऐप्पल कोड को संशोधित करने के लिए पूरी तरह से काम करता है, यह केवल तभी काम करता है जब पर्यवेक्षक की परत में ठोस पृष्ठभूमि रंग हो। @ZsoltSzatmari – mrabin

-1

आप CATextLayer करने के लिए स्विच करने के लिए प्रभावी ढंग से पाठ क्षेत्र के लिए परतों का उपयोग करने के लिए आपके आवेदन को बताने के लिए नहीं है। आप इसके बजाय इसका उपयोग कर सकते हैं:

textField.drawsBackground = NO; 
textField.wantsLayer  = YES; 
-2

मुझे अभी यह समस्या थी। मैंने इसे द्वारा backgroundColor नामक एक संपत्ति को NSTextField के पर्यवेक्षण से हटा दिया है।

मैं backgroundColor का उपयोग एनएसवी व्यूक्लास पर कैलियर गुणों के लिए सुविधा गेटर/सेटर के रूप में कर रहा था। यद्यपि यह संपत्ति एनएसवी व्यू पर प्रलेखित नहीं है, ऐसा लगता है कि मैंने एनएसवी व्यू पर एक संपत्ति को गलती से ओवरराइड किया था।

सबक्लासिंग के लिए यय!

6

वहाँ .xib फ़ाइल में एक संपत्ति, पाठ क्षेत्र के लिए इंटरफ़ेस बिल्डर खिड़की पर, विशेषता निरीक्षक

  1. किया जा रहा है की जाँच करें प्रदर्शन पृष्ठभूमि
  2. खींचता एक पृष्ठभूमि रंग का चयन करें। पारदर्शी पृष्ठभूमि के लिए स्पष्ट रंग का चयन करें।

enter image description here

+0

ड्रॉ पृष्ठभूमि द्वारा मेरी समस्या को ठीक किया गया और रंग साफ़ करने के लिए पृष्ठभूमि रंग सेट करें –

2

10,12 के रूप में आप सिर्फ कर सकते हैं:

let label = NSTextField(labelWithString: "HELLO") 
संबंधित मुद्दे