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

无人久伴 提交于 2019-12-09 11:10:30

问题


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.


回答1:


-(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.
}



回答2:


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




回答3:


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.




回答4:


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)



来源:https://stackoverflow.com/questions/14562551/how-to-get-the-cell-value-of-a-selected-cell-from-table-view-in-iphone

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!