मैं एक UITableView के अंदर UITableView बनाना चाहता हूं। मैंने स्टोरीबोर्ड डिज़ाइन किया और आवश्यक ऑटो-लेआउट सेट किया। जब मैं UITableViewCell में सेल पंक्ति ऊंचाई पर automatic की जांच करता हूं। सेल की ऊंचाई जो भी हो, उसका आकार बदलकर 43.5 कर दिया जाएगा। जब मैं UITableView को हटा दूं तो यह वापस सामान्य हो जाएगा। नीचे GIF देखें।

अपेक्षित आउटपुट: UITableViewCell ऊंचाई बाधा को दर्शाती है।

संपादित करें: मैंने इसे एक्सकोड में किया था 12.0.1

enter image description here

0
Farras Doko 3 जून 2021, 07:55
स्वचालित सेल ऊंचाई काम करती है यदि सेल के अंदर सभी घटकों (सबव्यू) में कुछ अंतर्निहित आंतरिक सामग्री आकार होता है या आपने उन पर ऊंचाई बाधा स्थापित की है और आपने पर्याप्त ऑटो-लेआउट बाधाएं स्थापित की हैं जैसे कि आईओएस आकार का मूल्यांकन कर सकता है सबव्यू के बाधाओं और आंतरिक सामग्री आकार के साथ सेल, लेकिन एक बार जब आप tableView सबव्यू के रूप में लाते हैं, तो tableView को scrollView से विरासत में मिला है और आमतौर पर स्क्रॉलव्यू उपवर्गों में आंतरिक सामग्री आकार नहीं होते हैं। और वे कुछ प्रदान करने के लिए आप पर निर्भर हैं
 – 
Sandeep Bhandari
3 जून 2021, 10:22
आकार की जानकारी या तो ऊंचाई की कमी को लागू करके या माता-पिता को आकार प्रदान करके इसके आकार को सीमित करके, और क्योंकि आपने tableView में कोई ऊंचाई बाधा नहीं जोड़ी है, जैसे ही आप इसे सेल में सबव्यू के रूप में जोड़ते हैं, आईओएस को कोई जानकारी नहीं है सेल का आकार क्या होगा इसलिए यह मूल आकार 43.5 पर वापस आ जाता है :) आशा है कि मदद करता है
 – 
Sandeep Bhandari
3 जून 2021, 10:24
लेकिन अगर मैं UIImageView जैसा कुछ जोड़ता हूं, तो यह 43.5 पर वापस नहीं जाएगा। यहां तक ​​​​कि अगर मैंने इसे अभी रखा है (एक नया दृश्य जिसमें अभी तक कोई बाधा नहीं है), मैंने इसे ऊपर दिए गए तालिका दृश्य की तरह ही माना। UIImageView ऐसा कुछ है जिसका कोई आंतरिक आकार नहीं है जब तक कि हम छवि को अंदर सेट न करें।
 – 
Farras Doko
4 जून 2021, 12:36

1 उत्तर

सबसे बढ़िया उत्तर

तालिका दृश्य कक्ष के अंदर तालिका दृश्य एम्बेड करने की अनुशंसा नहीं की जाती है। अपने ऐप के यूएक्स के बारे में सोचें जब उपयोगकर्ता कोशिकाओं को स्क्रॉल करेगा और अंदर एक और टेबल व्यू होगा जो एक ही समय में दो टेबल व्यू करेगा। आपके पास स्क्रीन के एक ही स्पर्श पर दो लंबवत स्क्रॉल होंगे।

आप अनुभागों के साथ एक तालिका दृश्य का उपयोग करके (आपके कक्षों का प्रतिनिधित्व करते हुए) और अनुभाग के अंदर पंक्तियों (सेल के अंदर आपके तालिका दृश्य का प्रतिनिधित्व करते हुए) का उपयोग करके समान कार्यक्षमता प्राप्त कर सकते हैं।

1
John Arnok 4 जून 2021, 23:04
लेकिन हम subTableView.isScrollEnabled = false बना सकते हैं और उसकी सामग्री के आधार पर टेबल व्यू की ऊंचाई सेट कर सकते हैं, फिर उस सब टेबल व्यू के आधार पर सेल का आकार बदल जाएगा। मैंने कोशिश की, लेकिन परिणाम कभी भी इष्टतम नहीं होता है। मुझे लगता है कि सबसे अच्छा अभ्यास तालिका दृश्य के अंदर तालिका दृश्य को एम्बेड नहीं करना है।
 – 
Farras Doko
8 जून 2021, 06:57