आप यह नहीं कहते कि आप अपने सेल के लिए उपयोग कर रहे पदानुक्रम को देखें या देखें। आप यह भी नहीं कहते कि आप टेक्स्ट फ़ील्ड के रंग या विशेष रूप से किस रंग को सेट कर रहे हैं।
जब कोई पंक्ति चुनी जाती है, तो पंक्ति स्वचालित रूप से interiorBackgroundStyle
की गणना करती है। यह सेल दृश्य के backgroundStyle
को भी सेट करता है यदि यह -setBackgroundStyle:
का जवाब देता है या एक सेल के साथ NSControl
है जो इसका जवाब देता है।
यदि आपका सेल व्यू NSTableCellView
का उदाहरण है, तो यह पृष्ठभूमि शैली को अपने सभी सबव्यूव में आगे बढ़ाता है जो समान मानदंडों को पूरा करता है। यदि आप अपने सेल व्यू के रूप में एक अलग कंटेनर व्यू का उपयोग करते हैं और आप पृष्ठभूमि शैली को इस तरह से अग्रेषित करना चाहते हैं, तो आपको इसे अपने व्यू क्लास में लागू करना होगा।
एक NSTextField
का सेल (NSTextFieldCell
) -setBackgroundStyle:
पर प्रतिक्रिया करता है और इसकी पृष्ठभूमि शैली स्वचालित रूप से उपरोक्त तंत्र द्वारा सेट की गई है। टेक्स्ट फ़ील्ड सेल स्वचालित रूप से अपने टेक्स्ट रंग को सफेद में बदल देगा यदि textColor
मानक नियंत्रण रंगों में से एक है (उदा। NSColor.controlTextColor()
), लेकिन यदि आप एक गैर मानक रंग असाइन करते हैं तो ऐसा नहीं करेंगे। इसलिए, यदि आप अपने पाठ के लिए एक विशिष्ट रंग सेट कर रहे हैं, तो पृष्ठभूमि शैली बदलते समय आप इसे बदलने के लिए ज़िम्मेदार हैं।
आप NSTableCellView
के उप-वर्ग का उपयोग कर सकते हैं और backgroundStyle
संपत्ति के लिए एक संपत्ति पर्यवेक्षक (didSet
) जोड़ सकते हैं। यह सेट की गई शैली के आधार पर टेक्स्ट फ़ील्ड के textColor
को बदल सकता है। उदाहरण के लिए, यदि आप पृष्ठभूमि शैली .Dark
नहीं हैं या सामान्य टेक्स्ट फ़ील्ड रंग NSColor.controlTextColor()
का उपयोग करते हैं तो यह आपके कस्टम रंग का उपयोग कर सकते हैं यदि यह .Dark
है (ताकि टेक्स्ट फ़ील्ड वास्तव में इसे सफेद के रूप में प्रदर्शित करे)।
आप अपने टेक्स्ट फ़ील्ड के लिए NSTextFieldCell
के उप-वर्ग का भी उपयोग कर सकते हैं और वही काम करते हैं। या पृष्ठभूमि शैली के आधार पर एक अलग पाठ रंग के साथ आकर्षित करने के लिए drawInteriorWithFrame(_:inView:)
ओवरराइड करें।
स्रोत
2015-04-25 01:53:27
तालिका में देखें: viewForTableColumn: पंक्ति: प्रतिनिधि विधि मैं अपने दृश्य-आधारित सेल में टेक्स्ट फ़ील्ड का रंग सेट करने के लिए ऐसा कर रहा हूं: cell.textField! .textColor = NSColor.redcolor()। BlackColor() में सेट सेल बस ठीक है, लेकिन redcolor() नहीं है। आपके उत्तर में कुछ समय लगेगा, इसलिए मुझे कुछ विचार देने के लिए धन्यवाद। –
दोस्त, मैं जांच करूंगा, लेकिन अगर यह काम करता है तो आप मेरे उद्धारकर्ता हैं !! UIKit से आने पर ऐपकिट बहुत अजीब है :) – Frizlab
यह काम करता है! \ o/बहुत बढ़िया – Frizlab