两个视图控制器的TouchesMoved方法

在我的应用程序中有两个视图控制器。 我在视图控制器中写了touchesmoved方法。 但即使我在模拟器上触摸第二个视图控制器,第一个VC触摸移动的方法被调用。

//对于VCOne

-(void)touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event { NSLog(@"first view vc move method"); UIStoryboard *storyboard = self.storyboard; ThreadedView *secViewController = [storyboard instantiateViewControllerWithIdentifier:@"threaded"]; [self.view addSubview:secViewController.view]; [self viewDidUnload]; } 

所以一旦上面的方法被调用,它将导航到第二个视图控制器“ViewDIDLoad”方法。 在这个文件中,我写了一个更多的触动移动的方法。

//对于VCTwo

 -(void)touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event { NSLog(@"second view vc move method"); } 

现在,如果我触摸第二个视图控制器,第一个VC触摸方法被称为而不是第二个VC触摸方法。

有没有办法做到这一点? 我需要不同的触摸移动方法为不同的视图控制器。

如果你想从第一个视图控制器过渡到第二个视图控制器,你可以试试这个方法: presentModalViewController:animated:

在你touchesMoved:withEvevt:第一个视图控制器

 NSLog(@"first view vc move method"); UIStoryboard *storyboard = self.storyboard; ThreadedView *secViewController = [storyboard instantiateViewControllerWithIdentifier:@"Threaded"]; [self presentModalViewController:secViewController animated:NO]; 

在第二个视图控制器中,可以使用dismissModalViewControllerAnimated:返回到第一个视图控制器。

希望这会有所帮助。