sizeThatFits (फ्रेम लेआउट दृश्य के अंदर ऑटो लेआउट दृश्य)
देखें एक लेआउट यह गणना और layoutSubviews में अपने फ्रेम की स्थापना करके subviews है।
देखें बी लेआउट के सबूतों के लिए बाधाओं का उपयोग करता है।
देखें ए में कई व्यू बी उदाहरण शामिल हैं।
देखें कि जब इसे लेआउट किया जाता है तो इसके सबव्यूज़ के आकार को जानने की आवश्यकता होती है, इसलिए यह sizeThatFits:
पर कॉल करता है।
देखें बी की ऊंचाई इसकी चौड़ाई पर निर्भर करती है। मेरे उदाहरण में इसमें एक मल्टीलाइन UILabel
है।
यह कैसे sizeThatFits:
तो यह सही आकार देता है दोनों size
पैरामीटर sizeThatFits:
और खाते में कमी के पारित कर दिया नहीं ले रहा है को लागू बी चाहिए?
मैं क्या कोशिश की है/अब तक माना जाता:
systemLayoutSizeFittingSize:
- काम नहीं करता है, क्योंकि यह खाते में एक सटीक आकार इसे करने के लिए पारित किया नहीं ले करता है। इसका उपयोग किसी दृश्य के लिए सटीक चौड़ाई निर्दिष्ट करने के लिए नहीं किया जा सकता है जो लंबवत रूप से बढ़ता है क्योंकि यह क्षैतिज रूप से घटता है। यह केवल सबसे संकुचित आकार या सबसे विस्तारित आकार देता है।
intrinsicContentSize
- यह जहाँ तक मैं डॉक्स से समझ में जानकारी ऑटो लेआउट को पारित करने के लिए प्रयोग किया जाता है। हम क्या चाहते हैं ऑटो लेआउट से प्राप्त करना है।
इस प्रकार मैंने अभी तक तर्क दिया है। अगर मैंने गलती की है तो कृपया मुझे सही करें। और कृपया मेरी मदद करें, अगर कोई मुझे यह बता सकता है कि यह कैसे किया जाता है तो मैं बहुत आभारी हूं!
संपादित करें: इसके अलावा, शायद sizeThatFits:
का उपयोग किए बिना ऐसा करने का कुछ अलग तरीका है? मेरे पास एकमात्र आवश्यकता यह है कि मैं "बाहरी दृश्य" (देखें ए) में फ्रेम लेआउट का उपयोग करना जारी रख सकता हूं और "आंतरिक दृश्य" (देखें बी) में ऑटो लेआउट जारी रख सकता हूं।
EDIT2: सटीक मामले वर्णन करने के लिए एक तस्वीर जोड़ी मैं हल करना चाहिए
edit3:, मैं 7.0
आप अपने विचारों को अपने विचारों को जोड़ने के लिए बाधा क्यों नहीं डालते हैं ए और आपके दृश्य की प्राथमिकता को प्राथमिकता से जोड़ना लंबवत सामग्री को कम करना? – RomOne
इसके अलावा, यदि आप इस तरह से चुनते हैं, तो सुनिश्चित करें कि आपके सभी बी विचारों में शीर्ष और नीचे की बाधाएं सभी दृश्यों को एक साथ जोड़ती हैं, ताकि ए को पता चले कि कैसे आकार बदलना है;) – RomOne
लेकिन यह व्यू ए में ऑटो लेआउट का उपयोग करेगा, और मैं व्यू बी में बाधाओं का उपयोग करते समय व्यू ए में कोड (फ्रेम लेआउट) का उपयोग करके मनमाने ढंग से विचारों को स्थिति में रखने में सक्षम होना चाहिए। निश्चित रूप से, चित्र में लेआउट आसानी से ऑटो लेआउट के साथ हासिल किया जाता है, लेकिन कभी-कभी लेआउट ' टी बाधाओं में व्यक्त नहीं किया जा सकता है, और मैं यह जानना चाहता हूं कि ऐसी परिस्थितियों के लिए यह कैसे किया जाता है। –