मैं त्रिकोणीय का उपयोग कर रहा हूं NSLayoutManager, NSTextStorage & amp; NSTextContainer
एक परत बैकड NSView
में पाठ प्रस्तुत करने के लिए
मैं इस धारणा के तहत हूं कि यदि मैं overdate < / कोड> सही लौटने के लिए और इस प्रकार परतों का अधिक पूर्ण रूप से इस्तेमाल किया जा रहा है क्या यह सच है?
हालांकि, सभी उदाहरणों में मैंने
NSLayoutManager
का उपयोग करने के बारे में देखा है कि आपको निम्नलिखित कोड को drawRect < / Code>:
layoutManager.drawGlyphsForGlyphRange (glyphRange, पर पॉइंट: NSMakePoint (0, 0))
आप समकक्ष कॉल कैसे करेंगे इसके बजाय updateLayer
के भीतर या कुछ अन्य परत-उन्मुख जगह?
< P> मैंने एक कस्टम CALayer
बनाया और ड्रॉ इनकॉन्टेक्स्ट
विधि को नीचे दिया गया है: ओवरक्राइड फ़नक ड्राइनकॉन्टेक्स्ट (सीटीएक्स: सीजीसीन्टेक्स्ट!) {एनएसजीफ़िक्स कंसटेक्स .saveGraphicsState () var nsgc = NSGraphicsContext (CGContext: ctx, flipped: false) NSGraphicsContext.setCurrentContext (nsgc) NSColor.whiteColor ()। SetFill () NSRectFill (NSMakeRect (0, 0, 84, 24)) lm.drawGlyphsForGlyphRange (glyphRange , परपॉइंट: एनएसएमकेपॉइंट (0, 0)) // टेक्स्ट कंटनीयर का स्थान NSGraphicsContext.restoreGraphicsState ()}
यह काम हो गया है, लेकिन
- मुझे यकीन नहीं है कि अगर बचत और बहाल करने के लिए कोई निष्पादन प्रभाव है ऊपर के रूप में ग्राफिक्स संदर्भ।
- मुझे यकीन है कि एनएसवीयूज़ के
updateLayer
पद्धति में इसका उपयोग कैसे किया जाएगा, इसका उपयोग करने के लिए कोई संदर्भ नहीं है।
No comments:
Post a Comment