我很菜鸟,只是在我开始之前说。
我要做的是制作一个单元格表,当一个单元格被触摸时,它会根据被触摸的单元格显示一个图像。现在,我认为有一种方法可以判断哪个单元格被触摸并相应地设置 UIImageView 图像,还是我将拥有与表格单元格一样多的视图并有大量的 segues?基本上我要做的是获取 segue 标识符并使用它来设置 UIImageView 图像。
我很菜鸟,只是在我开始之前说。
我要做的是制作一个单元格表,当一个单元格被触摸时,它会根据被触摸的单元格显示一个图像。现在,我认为有一种方法可以判断哪个单元格被触摸并相应地设置 UIImageView 图像,还是我将拥有与表格单元格一样多的视图并有大量的 segues?基本上我要做的是获取 segue 标识符并使用它来设置 UIImageView 图像。
您可以使用此方法获取 segue 标识符,如果推送了 segue,则会调用该方法:
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender {
if ([segue.identifier isEqualToString:@"YourChoiseMadeInStoryboard"]) {
...
//to access the destination ViewController do this
AViewControllerClass *viewController = segue.destinationViewController;
}
}
UIStoryboardSegue
旨在促进UIViewController
. 你想要做的根本不需要segues。您希望在点击单元格时切换其上的图像视图。您只需要-tableView:didSelectRowAtIndexPath:
在UITableViewDelegate
.
编辑我假设你已经为你的UIImageView
被调用了一个 ivar imageView
。您还需要一个 ivar 来NSArray
保存所有图像。每个索引处的图像将对应于表中的每一行。在某处建立您的数组-viewDidLoad
并假设它被称为imageArray
.
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
// Get the cell at the selected index path
UITableViewCell *selectedCell = [tableView cellForRowAtIndexPath:indexPath];
// After being tapped, set the image view to some image
self.imageView.image = [self.imageArray objectAtIndex:indexPath.row];
}