स्टोरीबोर्ड और ऑटोलायआउट का उपयोग करके, मेरे पास UISCrollView के साथ मुख्य दृश्य के रूप में UIViewController है। मेरे पास स्क्रॉल व्यू में एम्बेडेड कई कंटेनर दृश्य हैं। उन एम्बेडेड कंटेनर दृश्यों में से कुछ में UITableViews होते हैं, जिनमें से प्रत्येक में विभिन्न ऊंचाइयों की कोशिकाएं होती हैं। मुझे तालिका दृश्य की आवश्यकता होगी ताकि सभी कक्षों को एक साथ में दिखाने के लिए पर्याप्त हो, क्योंकि तालिका दृश्य पर स्क्रॉलिंग अक्षम कर दी जाएगी।कंटेनर व्यू की ऊंचाई समायोजित करने के लिए एम्बेडेड UITableView
मुख्य UIViewController में, स्क्रॉल व्यू को ठीक से काम करने के लिए कंटेनर व्यू की ऊंचाई को परिभाषित किया जाना चाहिए। यह समस्याग्रस्त है क्योंकि मेरे पास यह जानने का कोई तरीका नहीं है कि मेरी तालिका कितनी बड़ी होगी, एक बार यह अलग-अलग ऊंचाई की कोशिकाएं पूरी हो जाती हैं। मैं अपने गैर-स्क्रॉलिंग UITableView फिट करने के लिए रनटाइम पर अपने कंटेनर व्यू की ऊंचाई को कैसे समायोजित कर सकता हूं?
अब तक, मैं निम्नलिखित किया है:
// in embedded UITableViewController
//
- (void)viewDidLoad {
// force layout early so I can determine my table's height
[self.tableView layoutIfNeeded];
if (self.detailsDelegate) {
[self.detailsTableDelegate didDetermineHeightForDetailsTableView:self.tableView];
}
}
// in my main UIViewController
// I have an IBOutlet to a height constraint set up on my container view
// this initial height constraint is just temporary, and will be overridden
// once this delegate method is called
- (void)didDetermineHeightForDetailsTableView:(UITableView *)tableView
{
self.detailsContainerHeightConstraint.constant = tableView.contentSize.height;
}
यह ठीक काम कर रहा है और मैं परिणाम से खुश था। हालांकि, मेरे पास जोड़ने के लिए एक या दो कंटेनर दृश्य हैं, जिनमें गैर-स्क्रॉलिंग तालिका दृश्य होंगे, और मुझे प्रत्येक कंटेनर व्यू के लिए एक नया प्रतिनिधि प्रोटोकॉल बनाना नफरत है। मुझे नहीं लगता कि मैं जेनेरिक प्रोटोकॉल कर सकता हूं।
कोई विचार?
मुझे एक समान समस्या का सामना करना पड़ रहा है। क्या आपको इसके लिए समाधान मिला? – ntsh
@ntsh मैंने अभी अपना जवाब जोड़ा है। एक नज़र डालें और देखें कि क्या यह आपको – djibouti33
धन्यवाद देता है। मैं भी tableView की सामग्री आकार का उपयोग करके एक समान समाधान के साथ समाप्त हुआ। – ntsh