का उपयोग कर एनएससीएलआईपी व्यू/एनएसएसक्रॉल व्यू के अंदर एनएसटीबल व्यू का फ्रेम ऑटो लेआउट का उपयोग करके NSScrollView
(मानक कॉन्फ़िगरेशन, जो है) के अंदर NSTableView
बनाने का प्रयास कर रहा हूं। मैं यह नहीं समझ सकता कि यह काम कैसे करें।ऑटो लेआउट
यहाँ मेरी loadView है:
- (void)loadView
{
NSView *view = [[NSView alloc] init];
NSScrollView *tableScroll = [[NSScrollView alloc] init];
NSTableView *fileTable = [[NSTableView alloc] init];
[tableScroll setDocumentView:fileTable];
[tableScroll setHasVerticalScroller:YES];
[tableScroll setHasHorizontalScroller:NO];
fileTable.delegate = self;
fileTable.dataSource = self;
[fileTable setHeaderView:nil];
[fileTable setAllowsColumnReordering:NO];
NSTableColumn *column = [[NSTableColumn alloc] initWithIdentifier:@"column1"];
[fileTable addTableColumn:column];
[tableScroll setTranslatesAutoresizingMaskIntoConstraints:NO];
[fileTable setTranslatesAutoresizingMaskIntoConstraints:NO];
[view addSubview:tableScroll];
NSDictionary *topViews = NSDictionaryOfVariableBindings(tableScroll);
[view addConstraints:[NSLayoutConstraint constraintsWithVisualFormat:@"V:|[tableScroll]|" options:0 metrics:nil views:topViews]];
[view addConstraints:[NSLayoutConstraint constraintsWithVisualFormat:@"|[tableScroll]|" options:0 metrics:nil views:topViews]];
self.fileTable = fileTable;
self.view = view;
}
क्या होता है कि मेरी तालिका दृश्य के फ्रेम हमेशा NSClipView
की सीमा के बराबर हो जाएगा है। दृश्य एक खिड़की के अंदर है और इसके साथ आकार बदल जाता है, और जब मैं ऐसा करता हूं तो यह स्क्रॉलव्यू, क्लिप व्यू और टेबल का आकार बदल देगा, लेकिन मैं कहीं भी स्क्रॉल नहीं कर सकता।
की कमी मैं को देखते हुए, NSScrollView
की कमी है कि क्लिप को देखने इसे भरने के लिए सेट हो जाता है, क्लिप दृश्य सभी में कोई कमी है और तालिका दृश्य NSTableRowViews
इसके अंदर से संबंधित बाधाओं का एक समूह है।
यदि मैं क्लिप दृश्य में |[fileTable(>=500)]
जैसी बाधा डालता हूं तो मुझे 500 पिक्सेल एनएसटीबल व्यू मिलेगा, लेकिन जाहिर है कि मैं ऐसा नहीं करना चाहता हूं।
मैं 'tableScroll' के लिए मुखौटा autoresizing सेट करते हैं, कहते हैं' setTranslatesAutoresizingMaskIntoConstraints: 'tableScroll' और' fileTable' पर YES' और निकालने के दो 'addConstraints', कॉल यह ठीक काम करता है और मैं' NSAutoresizingMaskLayoutConstraint' क्लिप देखने पर लगता है कि सही आकार 'फ़ाइलटेबल' जरूरतों को निर्दिष्ट करें। –