/ / UITableViewCell सेट प्रारंभ में चयनित - ios, uitableview, uisplitviewcontroller

UITableViewCell सेट प्रारंभ में चयनित - ios, uitableview, uisplitviewcontroller

हाय वहाँ मेरे पास एक आईपैड ऐप में स्थिति है master controller सूची है और विवरण नियंत्रक इसके विवरण, एक ठेठ है UISplitViewController पैटर्न। मैं जो हासिल करना चाहता हूं वह है, मेरी पहली पंक्ति को प्रारंभ में चुना जाना चाहिए और बाद में मैं उपयोगकर्ता को चयन choise देना चाहता हूं। मैं सेल का उपयोग कर रहा हूँ setSelected और में didSelectRowAtIndexPath इस तरह के चयन हटाने विधि।

-(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
[tableView deselectRowAtIndexPath:indexPath animated:NO];
NSIndexPath* path = [NSIndexPath indexPathForRow:0 inSection:0];
UITableViewCell* cell = [tableView cellForRowAtIndexPath:path];
[cell setSelected:NO];
}

प्रारंभिक सेल के लिए लेकिन उसके बाद मेरा कोई भी सेल नहीं चुना जा रहा है कृपया मेरी मदद करें।

उत्तर:

जवाब के लिए 43 № 1

इसे इस्तेमाल करे

NSIndexPath* selectedCellIndexPath= [NSIndexPath indexPathForRow:0 inSection:0];
[self tableView:tableViewList didSelectRowAtIndexPath:selectedCellIndexPath];
[tableViewList selectRowAtIndexPath:selectedCellIndexPath animated:YES scrollPosition:UITableViewScrollPositionNone];

या

- (void)tableView:(UITableView *)tableView willDisplayCell:(UITableViewCell *)cell forRowAtIndexPath:(NSIndexPath *)indexPath
{
if (/* should be selected */) {
[cell setSelected:YES animated:NO];
}
}

जवाब के लिए 76 № 2

सेल को चयनित होने के लिए, आपको कॉल करना होगा -setSelected:animated: अंदर से -tableView:willDisplayCell:forRowAtIndexPath: जैसे:

- (void)tableView:(UITableView *)tableView willDisplayCell:(UITableViewCell *)cell forRowAtIndexPath:(NSIndexPath *)indexPath
{
if (/* should be selected */) {
[cell setSelected:YES animated:NO];
}
}

कॉलिंग -setSelected कहीं से भी कोई प्रभाव नहीं पड़ता है।


जवाब के लिए 27 № 3

स्विफ्ट 3: शुरुआत में सेल का चयन करना

import UIKit

class MyViewController: UIViewController, UITableViewDelegate {
@IBOutlet weak var tableView: UITableView!
...

func tableView(_ tableView: UITableView, willDisplay cell: UITableViewCell, forRowAt indexPath: IndexPath) {

if /* your code here */ == indexPath.row {
tableView.selectRow(at: indexPath, animated: false, scrollPosition: UITableViewScrollPosition.none)
}
}

...
}

8 उत्तर के लिए № 4

मुझे नहीं पता कि आप इस उत्तर की उम्मीद कर रहे हैं। डिफ़ॉल्ट रूप से यदि आप अपनी तालिका में पहली पंक्ति चुनना चाहते हैं तो मैनुअल चयन के साथ देखें, बस शुरू करें didSelectRowAtIndexPath इस तरह की विधि

- (void)viewDidAppear:(BOOL)animated {
NSIndexPath *indexPath=[NSIndexPath indexPathForRow:0 inSection:0];
[myTableView selectRowAtIndexPath:indexPath animated:YES  scrollPosition:UITableViewScrollPositionBottom];
}

जवाब के लिए 5 № 5

यह पीओपी नेविगेशन के मामले में भी मदद करेगा

एच फाइल,

NSIndexPath *defaultSelectedCell

एमएम फाइल

इस कोड को अंदर रखो ViewDidLoad

defaultSelectedCell= [NSIndexPath indexPathForRow:0 inSection:0];

में viewDidAppear

[self.tableView selectRowAtIndexPath:defaultSelectedCell animated:NO  scrollPosition:UITableViewScrollPositionNone];

जब आप पीओपी करते हैं, तो यह मदद करेगा, इस कोड को अंदर रखें viewWillAppear

[self.catTableView selectRowAtIndexPath:defaultSelectedCell animated:NO scrollPosition:UITableViewScrollPositionNone];

में tableView didSelectRowAtIndexPath तरीका,

defaultSelectedCell = [NSIndexPath indexPathForRow:indexPath.row inSection:0];

यह मुझे पहली बार लोडिंग या पॉप नेविगेशन पूरी तरह से मदद करता है।