我有一个带有图像视图的视图,当用户点击它时,我想在一个单独的视图中加载图像。
这是我的话:
-(void) prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender{
if ([segue.identifier isEqualToString:@"Show Player Information"]){
if ([segue.destinationViewController isKindOfClass:[PlayerViewController class]]){
PlayerViewController *playerViewController = (PlayerViewController*)segue.destinationViewController;
[playerViewController setPlayer:[self.team.players objectAtIndex:self.tableView.indexPathForSelectedRow.row]];
}
}else if([segue.identifier isEqualToString:@"Show Image"]) {
if ([segue.destinationViewController isKindOfClass:[ImageViewerViewController class]]){
ImageViewerViewController *imageViewerViewController = (ImageViewerViewController*)segue.destinationViewController;
[imageViewerViewController setImageName:@"France.jpg"];
}
}
}
但是,虽然segue具有正确的标识符,但在单击图像视图时没有任何反应。
请查看以下屏幕截图
你能帮我吗?
感谢您的时间和精力。
此致
答案 0 :(得分:1)
虽然可以从UIImageView
执行segue(虽然不是直接来自IB),但我认为用UIButton
替换它并将设置为图像而不是。
然后,根据您发布的代码,您可以删除旧的segue, ctrl + 拖动从按钮到目标控制器,选择' push& #39;然后将segue标识符设置为Show Image
。
此处应注意UIImageView
(与其祖先UIView
不同)默认情况下userInteractionEnabled
属性设置为NO
(more about it here)。因此,如果您选择直接从UIImageView
处理任何事件,请确保将其切换为YES
(here is a similar answer regarding this)。