मैं अपनी वर्तमान चौड़ाई के आधार पर एक टेक्स्ट फ़ील्ड का आकार बदलने/स्वचालित रूप से देखने का प्रयास कर रहा हूं। दूसरे शब्दों में, मैं चौड़ाई स्थिर रहना चाहता हूं लेकिन इसके लिए दिए गए पाठ के अनुसार ऊंचाई का आकार बदलना चाहता हूं।एनएसएसटींग बाउंडिंग RectWithSize सही ऊंचाई को थोड़ा कम करके कम करना - क्यों?
ऐसा लगता है कि ऐसा लगता है लेकिन कुछ कारणों से मैन्युअल रूप से इसे वापस ले जाने के प्रयासों के बावजूद मेरी खिड़की के नीचे संरेखित हो रहा है। क्या कोई देख सकता है कि मैं यहाँ क्या गलत कर रहा हूं?
NSString *temp = @"Lorem ipsum dolor sit amet, consectetur adipiscing elit. Integer vel felis nec massa ultricies blandit non id arcu. Sed enim est, facilisis a feugiat in, consectetur eget arcu. Aenean rutrum, lacus id euismod congue, nisl erat vulputate lectus, non faucibus tortor purus sed sem. Donec tempor dui egestas velit auctor vitae faucibus diam facilisis. Morbi convallis nulla quis est pulvinar quis ultricies sem sollicitudin.";
myText.stringValue = temp;
NSDictionary *attributes = [NSDictionary dictionaryWithObjectsAndKeys:
[NSFont systemFontOfSize:12], NSFontAttributeName,
[NSParagraphStyle defaultParagraphStyle], NSParagraphStyleAttributeName,
nil];
NSSize size = NSMakeSize(window.frame.size.width, 200);
myText.frame = [temp boundingRectWithSize:size options:NSLineBreakByWordWrapping | NSStringDrawingUsesLineFragmentOrigin attributes:attributes];
संपादित करें: यहां तक कि जब मैन्युअल रूप से फ्रेम यह स्पष्ट है कि पाठ अभी भी काट रही है घूम रहा है। नया समायोजित आकार काफी नहीं है।
इस के संदर्भ में है: NSString boundingRectWithSize slightly underestimating the correct width - why? और NSTextView or NSTextField automatically resize bounds/frame?
हो सकता है कि जिस तरह से बड़ा कुछ करने के लिए 200 से ऊंचाई बदल सकते हैं कि फ्रेम आकार लंबवत बढ़ने के लिए जानता है। – rein
@rein मैं इसके साथ खेलना जारी रखता हूं और जब यह वास्तव में नया फ्रेम फिर से आकार देता है तो यह अभी भी नीचे पाठ को क्लिप कर रहा है। नया फ्रेम काफी बड़ा नहीं है। एक नए स्क्रीनशॉट के लिए अद्यतन प्रश्न देखें। –