简体   繁体   中英

how to get the cell value of a selected cell from Table view in iPhone

Am displaying images in a table view controller where the images are rendered from the URL as XML file. It works well with listing images as scroll view. Now i want to select a particular image and the window should show the selected Cell images alone. For this do i need to get the Cell value. If so how can i get the particular cell value and display its corresponding images as a collection view in next window.

Kindly suggest me an idea. For your better understanding i pasted below an image how my storyboard currently looks and how i need an output. 故事板和输出

Hope you understand my problem.

-(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
// here we get the cell from the selected row.
          UITableViewCell *selectedCell=[tableView cellForRowAtIndexPath:indexPath]; 

// perform required operation
         UIImage * image =selectedCell.image;

// use the image in the next window using view controller instance of that view.
}

You should use UITableViewDelegate

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath;

indexPath will return you number of section and number of row of selected row.

indexPath.section;
indexPath.row

I hope it was clear. For further understanding you may refer to following tutorials: http://www.edumobile.org/iphone/iphone-programming-tutorials/using-iphone-tableview-for-displaying-data/ http://www.raywenderlich.com/1797/how-to-create-a-simple-iphone-app-tutorial-part-1

In this case I think you should maintain id for each image on the row. It could be your row number, if you have one image per row. Then from

-(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath

you can pass the id to the next view controller. In this view controller you should use this id to get the required data to create your collection view. Hope this helps.

For me this is working..

-(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
    UITableViewCell *cell = [tableView cellForRowAtIndexPath:indexPath];
    customerVC = [[UIStoryboard storyboardWithName:@"Main" bundle:nil]instantiateViewControllerWithIdentifier:@"customerInfoView"];

    customerVC.selectedText = cell.textLabel.text;
    //customerVC is destination viewController instance)

    [self.navigationController pushViewController:customerVC animated:YES]; 
}

And in your destination view controller header file just declare a string like

@property NSString *selectedText;

In viewcontroller.m assign the value like

self.selectedBiller.text = self.selectedText;

(selectedBiller is a label here)

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM