के लिए प्लेसहोल्डर स्ट्रिंग सेट करें NSTextView
के लिए प्लेसहोल्डर स्ट्रिंग को सेट करने का कोई तरीका है जैसे कि NSTextField
में? मैंने संपत्ति की जांच की है लेकिन इसे नहीं मिला। मैंने कुछ प्रश्न खोजे हैं लेकिन उचित स्पष्टीकरण नहीं है।NSTextView
उत्तर
मुझे यह जवाब ऑनलाइन मिला। Philippe Mougin ने इसे बनाया।
static NSAttributedString *placeHolderString;
@implementation TextViewWithPlaceHolder
+(void)initialize
{
static BOOL initialized = NO;
if (!initialized)
{
NSColor *txtColor = [NSColor grayColor];
NSDictionary *txtDict = [NSDictionary dictionaryWithObjectsAndKeys:txtColor, NSForegroundColorAttributeName, nil];
placeHolderString = [[NSAttributedString alloc] initWithString:@"This is my placeholder text" attributes:txtDict];
}
}
- (BOOL)becomeFirstResponder
{
[self setNeedsDisplay:YES];
return [super becomeFirstResponder];
}
- (void)drawRect:(NSRect)rect
{
[super drawRect:rect];
if ([[self string] isEqualToString:@""] && self != [[self window] firstResponder])
[placeHolderString drawAtPoint:NSMakePoint(0,0)];
}
- (BOOL)resignFirstResponder
{
[self setNeedsDisplay:YES];
return [super resignFirstResponder];
}
@end
स्विफ्ट 2,0
var placeHolderTitleString: NSAttributedString = NSAttributedString(string: "Place Holder Value", attributes: [NSForegroundColorAttributeName : NSColor.grayColor()])
override func becomeFirstResponder() -> Bool {
self.needsDisplay = true
return super.becomeFirstResponder()
}
override func drawRect(rect: NSRect) {
super.drawRect(rect)
if (self.string! == "") {
placeHolderString.drawAtPoint(NSMakePoint(0, 0))
}
}
स्विफ्ट 4
यह पता चला है, वहाँ पहले से ही NSTextView
में एक placeholderAttributedString
संपत्ति है कि सार्वजनिक रूप से उजागर नहीं कर रहा है हो रहा है। इस प्रकार, आप इसे अपने उप-वर्ग में बस कार्यान्वित कर सकते हैं और डिफ़ॉल्ट प्लेसहोल्डर व्यवहार प्राप्त कर सकते हैं (NSTextField
के समान)।
class PlaceholderTextView: NSTextView {
@objc var placeholderAttributedString: NSAttributedString?
}
और यदि यह संपत्ति भविष्य में उपलब्ध कराई जाएगी, तो आपको केवल इस सबक्लास के बजाय NSTextView का उपयोग करने की आवश्यकता है।
मैंने ऐप्पल से इस संपत्ति का पर्दाफाश करने के लिए एक रडार दायर किया है http://www.openradar.me/33583675 –
यह काम नहीं प्रतीत होता है। मैंने संपत्ति को सबक्लास में कार्यान्वित किया लेकिन यह प्रदर्शित नहीं होता है। – Austin
@JanApotheker हां, यह अनिश्चित है कि यह स्विफ्ट 4 में है या 10.13 में है। यह –
- 1. NSTextView
- 2. NSTextView
- 3. NSTextView
- 4. NSTextView
- 5. एक NSTextView
- 6. NSTextField या NSTextView?
- 7. NSTextView स्क्रॉलिंग लाइन
- 8. नीचे स्क्रॉलिंग NSTextView नीचे
- 9. UILabel/NSTextView बनाम CATextLayer
- 10. NSTextView और NSAttributedString
- 11. NSTextView सम्मिलन बिंदु से एनएसपॉइंट
- 12. NSTextView, पाठ और चिकनी स्क्रॉलिंग को जोड़ना
- 13. STDOUT को NSTextView पर रीडायरेक्ट कैसे करें?
- 14. NSTextView एक NSScrollView अंदर स्क्रॉल नहीं होता :(
- 15. NSTextView में फ़ॉन्ट कैसे सेट करें?
- 16. एक NSTextView में कैरेट स्थिति कैसे खोजें?
- 17. पूरी तरह से अक्षम NSTextView वर्तनी जांच
- 18. NSTextView पीले प्रकाश डाला सफारी खोज में
- 19. NSTextView में पैडिंग - कस्टम ड्राइंग के बिना संभव है?
- 20. NSTextView में प्रमुख ईवेंट कैप्चर करने का सबसे अच्छा तरीका?
- 21. मुझे कैसे पता चलेगा जब NSTextView फोकस खो देता है?
- 22. NSTextView में NSTextStorage को प्रतिस्थापित करने का सही तरीका?
- 23. इंटरफ़ेस बिल्डर में NSTextView का टेक्स्ट रंग बदलना
- 24. NSTextView उपदृश्य प्रदर्शित नहीं होता है जब drawsBackground = false
- 25. अपनी सामग्री के अनुसार NSTextView का आकार कैसे बदलें?
- 26. सामग्री फिट करने के लिए बढ़ते NSTextView टेक्स्ट
- 27. कोको में stdout को NSTextView पर रीडायरेक्ट करने का सबसे अच्छा तरीका क्या है?
- 28. मैं NSTextView में 3-उंगली टैप व्यवहार को ओवरराइड कैसे कर सकता हूं?
- 29. असमर्थित स्वरूपण को हटाने के लिए आप NSTextView में पेस्ट करने में कैसे रोक सकते हैं?
- 30. मैं पृष्ठभूमि विंडो पर [NSTextView चयनितTextAttributes] कैसे सेट कर सकता हूं?
यह बहुत उपयोगी है, लेकिन प्लेसहोल्डर टेक्स्ट को कई लाइनों पर कैसे लपेटने के बारे में कोई विचार है? –