在ViewController上对UIScrollView performSegue进行子类化

时间:2012-10-09 14:36:53

标签: objective-c ios uiscrollview storyboard segue

我有一个自定义的UIScrollView类,它实现了touchesEnded方法。我的项目有一个故事板,我试图在viewcontroller上调用performSeguewithIdentifier,但是当我调用方法changePhoto时,它给出了下面的错误。我已经确认我的segue标记正确,没有拼写错误。看起来当我创建PhotoViewController的新实例时,它不会创建任何故事板和/或segues。我可以做些什么来调用才能让我的UIScrollView正常工作?

CustomUIScrollView.m

-(void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event{

    UITouch *touch = [touches anyObject];

    if ([[touch view] isKindOfClass:[UIImageView class]]) {
        UIView *imageView = [touch view];
        NSInteger tag = imageView.tag;
        NSLog(@"Tag: %d", tag);
        PhotoViewController *vc = [[PhotoViewController alloc]init];
        [vc changePhoto:1];
    }
}

PhotoViewController.m

-(void)changePhoto:(int)spaceId {
    [self performSegueWithIdentifier: @"photoSegue" sender: self];
}

错误:

  

2012-10-09 10:28:38.765 Spaces [82945:11303] * 终止应用程序   未捕获的异常'NSInvalidArgumentException',原因:'接收器   ()没有带标识符的segue   'photoSegue''

1 个答案:

答案 0 :(得分:1)

尝试初始化您使用此

查看控制器
PhotoViewController *vc = [self.storyboard instantiateViewControllerWithIdentifier:@"myIdentifier"]

确保在界面构建器中设置相应视图控制器的标识符。