यदि आपको अभी भी समस्याएं आ रही हैं, तो स्क्रॉल व्यू की आवश्यकता के बिना इसे आजमाएं।
थोड़ी देर के लिए DBD के उदाहरण के साथ चारों ओर खेलने के बाद, मैंने पाया कि फ्रेम और contentSize एक साथ सेट किया जा करने में सक्षम होना प्रतीत नहीं चाहते:
self.tableView.contentSize = CGSizeMake(320, scrollHeight);
self.tableView.frame = CGRectMake(self.tableView.frame.origin.x,44,self.tableView.contentSize.width,self.tableView.contentSize.height);
प्रयास की एक अधिकतम ऊंचाई निर्धारित करने के लिए था फ्रेम लेकिन बड़ी संख्या में कोशिकाओं की संख्या में हालांकि सभी सामग्री को स्क्रॉल करने की क्षमता रखें। यह हैक अच्छी तरह से काम करता प्रतीत होता है और यदि आवश्यक हो तो अधिक स्थितियों के साथ संशोधित किया जा सकता है:
int cellCount = [YOURARRAY count];
CGFloat scrollHeight = cellCount*44+44;//for a cell with height of 44 and adding 44 if you have a toolbar at the bottom
self.tableView.contentSize = CGSizeMake(320, scrollHeight);//you can change the width and or let the .xib control the autoresizing
if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad && cellCount < 14)
{
//here's were you can add more conditions if you're in landscape or portrait, but this handles 14 cells with a heightForHeaderInSection of 46 in landscape
self.tableView.frame = CGRectMake(self.tableView.frame.origin.x,44,self.tableView.contentSize.width,scrollHeight);
}
else if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPhone && cellCount < 7)
{
//same as above but it's for the iPhone in portrait
self.tableView.frame = CGRectMake(self.tableView.frame.origin.x,44,self.tableView.contentSize.width,scrollHeight);
}
यह सुनिश्चित करने के लिए काम करता है। आपको अपने .xib या अपने कोड में ऑटोरेसाइजिंगमास्क को समायोजित करने की आवश्यकता हो सकती है, लेकिन यह हैक एकमात्र समाधान है जो मैंने पाया है जो मेरे मामले में सभी अलग-अलग चर का ख्याल रखता है।
यह अभी भी काम नहीं करता है ... वास्तव में जब मैं NSLog tableView.frame मुझे प्रदर्शित करता है (शून्य)। मुझे समझ में नहीं आता ... – kschaeffler
दरअसल, मेरी फ़ाइल का मालिक UIScrollView और UITableView का प्रतिनिधि है जो एक स्क्रॉल व्यू है। कोई समस्या है? – kschaeffler
मुझे और अधिक स्पष्ट होना चाहिए था। 'tableView' और 'scrollView' को उन आइटम्स से जुड़े आईबीओटलेट माना जाता है। – DBD