मैं एक UITableView
के अंदर UITableView
बनाना चाहता हूं। मैंने स्टोरीबोर्ड डिज़ाइन किया और आवश्यक ऑटो-लेआउट सेट किया। जब मैं UITableViewCell
में सेल पंक्ति ऊंचाई पर automatic
की जांच करता हूं। सेल की ऊंचाई जो भी हो, उसका आकार बदलकर 43.5 कर दिया जाएगा। जब मैं UITableView
को हटा दूं तो यह वापस सामान्य हो जाएगा। नीचे GIF देखें।
अपेक्षित आउटपुट: UITableViewCell
ऊंचाई बाधा को दर्शाती है।
संपादित करें: मैंने इसे एक्सकोड में किया था 12.0.1
1 उत्तर
तालिका दृश्य कक्ष के अंदर तालिका दृश्य एम्बेड करने की अनुशंसा नहीं की जाती है। अपने ऐप के यूएक्स के बारे में सोचें जब उपयोगकर्ता कोशिकाओं को स्क्रॉल करेगा और अंदर एक और टेबल व्यू होगा जो एक ही समय में दो टेबल व्यू करेगा। आपके पास स्क्रीन के एक ही स्पर्श पर दो लंबवत स्क्रॉल होंगे।
आप अनुभागों के साथ एक तालिका दृश्य का उपयोग करके (आपके कक्षों का प्रतिनिधित्व करते हुए) और अनुभाग के अंदर पंक्तियों (सेल के अंदर आपके तालिका दृश्य का प्रतिनिधित्व करते हुए) का उपयोग करके समान कार्यक्षमता प्राप्त कर सकते हैं।
subTableView.isScrollEnabled = false
बना सकते हैं और उसकी सामग्री के आधार पर टेबल व्यू की ऊंचाई सेट कर सकते हैं, फिर उस सब टेबल व्यू के आधार पर सेल का आकार बदल जाएगा। मैंने कोशिश की, लेकिन परिणाम कभी भी इष्टतम नहीं होता है। मुझे लगता है कि सबसे अच्छा अभ्यास तालिका दृश्य के अंदर तालिका दृश्य को एम्बेड नहीं करना है।
tableView
सबव्यू के रूप में लाते हैं, तोtableView
कोscrollView
से विरासत में मिला है और आमतौर पर स्क्रॉलव्यू उपवर्गों में आंतरिक सामग्री आकार नहीं होते हैं। और वे कुछ प्रदान करने के लिए आप पर निर्भर हैंtableView
में कोई ऊंचाई बाधा नहीं जोड़ी है, जैसे ही आप इसे सेल में सबव्यू के रूप में जोड़ते हैं, आईओएस को कोई जानकारी नहीं है सेल का आकार क्या होगा इसलिए यह मूल आकार 43.5 पर वापस आ जाता है :) आशा है कि मदद करता है