NSSplitView
सबव्यू के अंदर ऑटो लेआउट बाधाओं का उपयोग कैसे करना चाहिए?NSSplitView और autolayout
मेरे NSSplitView
subview 3 subview है: topPane
, tableContainer
और bottomPane
और मैं इस तरह constrains सेट:
NSDictionary* views = NSDictionaryOfVariableBindings(topPane, tableContainer, bottomPane);
for (NSView* view in [views allValues]) {
[view setTranslatesAutoresizingMaskIntoConstraints:NO];
}
[myView addConstraints:[NSLayoutConstraint constraintsWithVisualFormat:@"V:|[topPane(34)][tableContainer][bottomPane(24)]|"
options:0
metrics:nil
views:views]];
[mySplitView addSubview:myView];
और कंसोल में इस मिल गया:
Unable to simultaneously satisfy constraints:
(
"<NSLayoutConstraint:0x7fd6c4b1f770 V:[NSScrollView:0x7fd6c4b234c0]-(0)-[CPane:0x7fd6c4b2fd10]>",
"<NSLayoutConstraint:0x7fd6c4b30910 V:[CPane:0x7fd6c4b2f870(34)]>",
"<NSLayoutConstraint:0x7fd6c4b30770 V:|-(0)-[CPane:0x7fd6c4b2f870] (Names: '|':NSView:0x7fd6c4b22e50)>",
"<NSLayoutConstraint:0x7fd6c4b212f0 V:[CPane:0x7fd6c4b2fd10]-(0)-| (Names: '|':NSView:0x7fd6c4b22e50)>",
"<NSLayoutConstraint:0x7fd6c4b2f910 V:[CPane:0x7fd6c4b2f870]-(0)-[NSScrollView:0x7fd6c4b234c0]>",
"<NSLayoutConstraint:0x7fd6c4b21290 V:[CPane:0x7fd6c4b2fd10(24)]>",
"<NSAutoresizingMaskLayoutConstraint:0x7fd6c3630430 h=--& v=--& V:[NSView:0x7fd6c4b22e50(0)]>"
)
Will attempt to recover by breaking constraint
<NSLayoutConstraint:0x7fd6c4b1f770 V:[NSScrollView:0x7fd6c4b234c0]-(0)-[CPane:0x7fd6c4b2fd10]>
मैं <NSAutoresizingMaskLayoutConstraint:0x7fd6c3630430 h=--& v=--& V:[NSView:0x7fd6c4b22e50(0)]>
इस का कारण बनता है लगता है, लेकिन मैं ऑटोरेसाइजिंग मास्क रीसेट नहीं कर सकता, क्योंकि NSSplitView
इसे सेट करता है।
विभाजन दृश्य के अंदर ऑटो लेआउट का उपयोग करने का सबसे अच्छा तरीका क्या है? और NSSplitViewDelegate
के बिना ऑटो लेआउट के साथ विभाजित दृश्य सबव्यू के न्यूनतम/अधिकतम आकार को संभालने का कोई तरीका है?
वही समस्या यहां। मैंने प्रोग्रामेटिक रूप से आईबी में सबकुछ बाहर रखा है, लेकिन 'एनएसयूयूटोर्सिज़िंग मास्कलेआउट कॉन्स्ट्रेन' सहित समान डिबगिंग आउटपुट है। –
यह 10.8 के तहत तय लगता है लेकिन 10.7 के तहत नोट के रूप में टूट गया है। 10.8 में आप एक्सकोड में विभाजित दृश्य के सामग्री दृश्यों की न्यूनतम ऊंचाई और चौड़ाई निर्धारित कर सकते हैं (4.5.2 वैसे भी)। 10.7 के तहत ऐसा नहीं कर सकता है और 10.8 में बनाए गए ऐप्स अभी भी सही काम नहीं करते हैं 10.7 – Dad
सामान्य रूप से 10.8+ के साथ काम करता है लेकिन अधिकांश विचारों के लिए सबव्यू के बीच बाधाओं को निर्दिष्ट करने की आवश्यकता है - नहीं - या आपको * असमर्थ एक साथ * त्रुटि को संतुष्ट करने के लिए .. – Jay