两个视图控制器的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:
返回到第一个视图控制器。
希望这会有所帮助。