मैं एक स्टैंड-अलोन कोको परीक्षण एप्लिकेशन में निम्न कोड है सहितNSTextView एक NSScrollView अंदर स्क्रॉल नहीं होता :(
- (void)applicationDidFinishLaunching:(NSNotification *)aNotification {
NSView *contentView = [window contentView];
NSTextStorage *textStorage = [NSTextStorage new];
NSLayoutManager *layoutManager = [NSLayoutManager new];
NSTextContainer *textContainer = [NSTextContainer new];
[textContainer setHeightTracksTextView:YES];
[textContainer setWidthTracksTextView:YES];
[textStorage addLayoutManager:layoutManager];
[layoutManager addTextContainer:textContainer];
NSScrollView *scrollView = [[NSScrollView alloc] initWithFrame:[contentView bounds]];
[scrollView setHasVerticalScroller:YES];
[scrollView setAutoresizingMask:NSViewWidthSizable|NSViewHeightSizable];
[scrollView setBorderType:NSNoBorder];
NSRect textFrame;
textFrame.origin = NSZeroPoint;
textFrame.size = [NSScrollView contentSizeForFrameSize:[scrollView frame].size hasHorizontalScroller:NO hasVerticalScroller:YES borderType:NSNoBorder];
NSTextView *textView = [[[NSTextView alloc] initWithFrame:textFrame textContainer:textContainer] autorelease];
[textView setAutoresizingMask:NSViewWidthSizable];
[scrollView setDocumentView:textView];
[contentView addSubview:scrollView];
}
मैं शामिल वस्तुओं के पूरे पदानुक्रम स्थापित करने के लिए कोशिश कर रहा हूँ (टेक्स्ट सिस्टम ऑब्जेक्ट्स) एक NSTextView + NSScrollView संयोजन में यह देखने के लिए कि यह सब एक साथ कैसे काम करता है। हालांकि जब मैं इसे चलाता हूं और टेक्स्ट व्यू में लाइनों का एक गुच्छा जोड़ना शुरू करता हूं, तो पाठ को दृश्य से अधिक लंबा होने पर स्क्रॉल नहीं होता है लंबा। ऐसा लगता है कि NSScrollView और NSTextView एक-दूसरे से अवगत नहीं हैं। मैं सब कुछ ठीक से संवाद करने के लिए यहां क्या कनेक्शन खो रहा हूं?
संपादित करें: हाँ, यह लीकी और बदसूरत है। :) यह सिर्फ यह निर्धारित करने के लिए लिखा गया था कि क्या हो रहा है, न कि उत्पादन कोड या कुछ भी जो मैं सीधे उपयोग कर रहा हूं। पक्का वादा।
वास्तव में मैंने नहीं किया। और ऐसा लगता है कि जवाब था। :) धन्यवाद! – Sean
वह और -setHeightTracksTextView: NO होने की आवश्यकता है। – Sean
मुझे पता था * मैं एक भूल रहा था, लेकिन एक पूर्ण खोज के लिए समय नहीं था। :-) –