का उपयोग करने जा iOS 6 में के बाद स्क्रॉल नहीं, मैं एक UITableView
मेरे एप्लिकेशन में QuickDialog
उपयोग कर बनाई गई थी। यह सामान्य रूप से स्क्रॉल किया गया। जब मैं आईओएस 7 पर स्विच करता हूं, वही UITableView
ठीक से स्क्रॉल नहीं करता है। मैं नीचे खींच सकता हूं (स्क्रोलर संपीड़ित) लेकिन जब मैं रिलीज करता हूं, तो यह शीर्ष पर वापस आ जाता है। मैं समस्या का प्रयास करने और निदान करने के लिए viewDidAppear
के साथ खेल रहा हूं। नीचे कोड ब्लॉक देखें।UITableView iOS 7
-(void)viewDidAppear:(BOOL)animated {
[super viewDidAppear:animated];
NSLog(@"Content height: %f",self.quickDialogTableView.contentSize.height);
[self.quickDialogTableView reloadData];
NSLog(@"Content height: %f",self.quickDialogTableView.contentSize.height);
[self.quickDialogTableView layoutIfNeeded];
NSLog(@"Content height: %f",self.quickDialogTableView.contentSize.height);
}
iOS 7 में इस ब्लॉक के उत्पादन
Content height: 0.000000
Content height: 836.000000
Content height: 0.000000
इस बीच, IOS 6 (सिम्युलेटर) में इस ब्लॉक के उत्पादन में किया जाता है
Content height: 836.000000
Content height: 836.000000
Content height: 836.000000
भी कोशिश करते हैं और निदान करने के लिए है समस्या, मैंने एक बटन स्थापित किया जो [self.quickDialogTableView reloadData]
को ट्रिगर करेगा। जब भी वह बटन धक्का दिया जाता है, तो स्क्रॉलिंग व्यवहार सामान्य रूप से कार्य करना शुरू कर देता है। फिर जब मैं दृश्य छोड़ देता हूं और वापस आ जाता हूं, तो स्क्रॉलिंग फिर से विफल हो जाती है (जब तक बटन धक्का नहीं जाता)। स्पष्ट होने के लिए, मैंने viewWillAppear
में reloadData
डालने का प्रयास किया है (यानी, उपरोक्त कोड ब्लॉक में अंतिम दो पंक्तियां हटाएं) और यह स्क्रॉलिंग को सही नहीं करता है।
मैं जहाँ मैं इस समस्या को ठीक करने के लिए लग सकता है के रूप में सुराग के लिए देख रहा हूँ। किसी भी सहायता के लिए अग्रिम रूप से धन्यवाद।
ऐसा नहीं लगता कि यह काम करेगा, और यकीन है कि, यह मेरे लिए काम नहीं करता है। मुझे एक ही समस्या का सामना करना पड़ रहा है, हालांकि, आपके समाधान में आप बस QuickDialogTableView से सामग्री को आकार में देख रहे हैं DidAppear: और उसके बाद इसे सामग्री पर पुन: असाइन करना QuickDialogTableView का आकार फिर से देखें DidLayoutSubviews ... मैं यह समझने में असफल रहा कि यह कैसे ठीक करेगा समस्या। – Jamornh
@Jamornh सहमत। यह कोई समझ नहीं आता है। हालांकि, अगर मैं 'self.quickDialogTableView.contentSize = self.trueContentSize' से पहले '-viewDidLayoutSubviews' में 'self.quickDialogTableView.contentSize'' लॉग करता हूं, तो यह शून्य हो जाता है। तो '-viewDidAppear' और' viewDidLayoutSubviews' के बीच कुछ हो रहा है जो 'ContentSize' को शून्य पर सेट कर रहा है। मुझे नहीं पता कि क्या। मेरी हैक सुनने के लिए खेद है कि आपके लिए काम नहीं किया है। क्या आपने यह सुनिश्चित करने के लिए जांच की है कि आपकी कस्टम 'self.trueContentSize' प्रॉपर्टी इसका उपयोग करने से पहले आपके अपेक्षित आकार को वापस कर रही थी? –
मैंने तालिका दृश्य को मैन्युअल रूप से रीसेट करके इसे ठीक करने में कामयाब रहा है, फिर तालिका के फ्रेम को रीसेट कर रहा है सामग्री को फिट करने के लिए देखें तालिका का आकार दृश्य अपने फ्रेम से बड़ा है। स्पष्ट रूप से स्क्रॉलिंग काम नहीं कर रही थी क्योंकि तालिका दृश्य का फ्रेम किसी कारण से सामग्री से बड़ा है। आपके प्रतिक्रिया के लिए धन्येवाद! – Jamornh