2013-01-08 34 views
6

selectRowAtIndexPath:animated:scrollPosition: का उपयोग करते समय, मैं UITableViewScrollPositionNone में गुजर रहा हूं। नाम के बावजूद, मुझे आवश्यक होने पर तालिकादृश्य को स्क्रॉल करने की उम्मीद है ताकि पंक्ति दिखाई दे (और स्क्रॉल न हो यदि यह पहले से दिखाई दे रहा है)।UITableViewScrollPositionNone तालिका दृश्य को स्क्रॉल नहीं करता

UITableViewScrollPositionNone - तालिका दृश्य स्क्रॉल ब्याज की पंक्ति आंदोलन की एक न्यूनतम के साथ पूरी तरह दिखाई दे सकता है। यदि पंक्ति पहले से ही पूरी तरह से दिखाई दे रही है, तो कोई स्क्रॉलिंग नहीं होती है। उदाहरण के लिए, यदि पंक्ति दृश्य क्षेत्र से ऊपर है, तो व्यवहार UITableViewScrollPositionTop द्वारा निर्दिष्ट के समान है। यह डिफ़ॉल्ट है।

हालांकि, मुझे लगता है कि तालिका दृश्य बिल्कुल स्क्रॉल नहीं करता है। अगर मैं UITableViewScrollPositionTop या UITableViewScrollPositionBottom का उपयोग करता हूं, तालिका दृश्य स्क्रॉल अपेक्षित के रूप में।

क्या यह संभव है कि इसके लिए दस्तावेज़ गलत है? या क्या मैं कुछ न कुछ भूल रहा हूं?

+0

दस्तावेज़ीकरण निश्चित रूप से सही है। क्या आप स्क्रॉल को तुरंत एनीमेशन कर रहे हैं? – jakenberg

+0

मैं बस [self.tableView scrollToRowAtIndexPath: myPath atScrollPosition: UITableViewScrollPositionNone एनिमेटेड: हाँ] सभी तीन उदाहरणों में कॉल कर रहा हूं। –

+0

क्या आपने पुष्टि की है कि आपकी सीमाएं ठीक से सेट की गई हैं? – jakenberg

उत्तर

0

आपको यह सुनिश्चित करने की ज़रूरत है कि तालिका दृश्य के सामग्री दृश्य में स्क्रॉल करने की जगह है। मुझे एक बार तालिका दृश्य को स्क्रॉल करने की आवश्यकता होती है क्योंकि उपयोगकर्ता टेक्स्ट फ़ील्ड पर टैप करता है और कीबोर्ड आया, मुझे तालिका दृश्य की सामग्री को कीबोर्ड की ऊंचाई की ऊंचाई तक बढ़ाने की आवश्यकता है ताकि तालिका दृश्य स्क्रॉल कर सके। इस तरह:

UIEdgeInsets contentInsets = UIEdgeInsetsMake(0.0, 0.0, keyboardFrame.size.height, 0.0); 
self.tableView.contentInset = contentInsets; 
self.tableView.scrollIndicatorInsets = contentInsets; 
[self.tableView scrollToRowAtIndexPath:self.currentEditingCellIndexPath atScrollPosition:UITableViewScrollPositionNone animated:YES]; 
4

UITableView के selectRowAtIndexPath के लिए दस्तावेज़: एनिमेटेड: scrollPosition: का वर्णन करता है कि आप क्या अनुभव कर रहे हैं एक वर्ग है।

विशेष कोई स्क्रॉल में पासिंग UITableViewScrollPositionNone होगा परिणाम, बल्कि कम से कम स्क्रॉल से विचार है कि निरंतर के लिए का वर्णन किया। न्यूनतम स्क्रॉलिंग के साथ नई चयनित पंक्ति पर स्क्रॉल करने के लिए, UITableViewScrollPositionNone के साथ इस विधि का उपयोग करके पंक्ति का चयन करें, फिर स्क्रॉल करें TroRowAtIndexPath: atScrollPosition: एनिमेटेड: UITableViewScrollPositionNone के साथ।

आशा है कि मदद करता है!

संबंधित मुद्दे