单击图像时,IOS segue不起作用

时间:2014-05-29 15:15:49

标签: ios iphone objective-c

我有一个带有图像视图的视图,当用户点击它时,我想在一个单独的视图中加载图像。

这是我的话:

-(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具有正确的标识符,但在单击图像视图时没有任何反应。

请查看以下屏幕截图 enter image description here

你能帮我吗?

感谢您的时间和精力。

此致

1 个答案:

答案 0 :(得分:1)

虽然可以从UIImageView执行segue(虽然不是直接来自IB),但我认为用UIButton替换它并将设置为图像而不是。

然后,根据您发布的代码,您可以删除旧的segue, ctrl + 拖动从按钮到目标控制器,选择' push& #39;然后将segue标识符设置为Show Image


此处应注意UIImageView(与其祖先UIView不同)默认情况下userInteractionEnabled属性设置为NOmore about it here)。因此,如果您选择直接从UIImageView处理任何事件,请确保将其切换为YEShere is a similar answer regarding this)。