UITableView का चयनित सूचकांक प्राप्त करें


104

मैं इसके लिए चयनित सूचकांक चाहता हूं UITableView। मैंने निम्नलिखित कोड लिखा है:

NSIndexPath *index = [NSIndexPath indexPathForRow:1 inSection:0];
[tableView scrollToRowAtIndexPath:index 
                 atScrollPosition:UITableViewScrollPositionTop 
                         animated:YES];

यह हमेशा 1 आइटम के लिए काम करता है। मैं चयनित सूचकांक में आना चाहता हूंindexPathForRow.

कृपया मदद कीजिए। धन्यवाद।

जवाबों:


216
NSIndexPath *selectedIndexPath = [tableView indexPathForSelectedRow];

5
यदि आप कई चयनों की अनुमति देते हैं, तो उपयोग करने पर विचार करें: - (NSArray *) indexPathsForSelectedRows
yura

एक बार जब आप कि *selectedIndexPathयह उपयोगी है मेरे लिए उपयोग किया है के लिए long pathRow = [selectedIndexPath row];और long pathSection = [selectedIndexPath section];आप विशिष्ट चयन की जरूरत है जब (ध्यान दें कि NSIntegerएक typedef longजो एक सी पृष्ठभूमि से आने के बाद से दोनों की जरूरत है और अधिक समझ में आता है %ldवैसे भी।
जोनाथन Weinraub

8

वर्तमान चयनित पंक्ति प्राप्त करें। यदि आपके पास केवल एक खंड है, तो सहायक हो सकते हैं।

- (NSUInteger)currentSellectedRowIndex
{
    NSIndexPath *selectedIndexPath = [self.tableView indexPathForSelectedRow];
    if (selectedIndexPath) {
        return selectedIndexPath.row;
    }
    else {
        return NSNotFound;
    }
}

5

इस कोड का उपयोग करें

CGPoint location =[sender locationInView:self.tableView];
NSIndexPath *swipedIndexPath = [self.tableView indexPathForRowAtPoint:location];
UITableViewCell *swipedCell  = [self.tableView cellForRowAtIndexPath:swipedIndexPath];
NSIndexPath *indexPath = [self.tableView indexPathForCell:swipedCell];

4

DidSelectRowAtIndexPath में, एक इंटरफ़ेस सेट करें NSIndexPath को इंडेक्सपथ के रूप में घोषित किया गया। फिर आप उस चर पर स्क्रॉल कर सकते हैं। यदि आपको सहायता की आवश्यकता है, तो टिप्पणी करें और मैं कुछ नमूना कोड दे सकता हूं।


वैकल्पिक रूप से, आप त्वरित उपयोग के लिए क्रिस की विधि का उपयोग कर सकते हैं। उपरोक्त विधि अधिक नियंत्रण प्रदान करती है और आपके (उदाहरण) विवरण दृश्य नियंत्रक द्वारा संशोधित की जा सकती है।
कॉलिन क्रिविंकल

1

स्विफ्ट 4.2

let selectedIndexPath = tableView.indexPathForSelectedRow

जो एक वैकल्पिक रिटर्न मान है।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.