パンジェスチャを確認するためのサンプルを作成します。
パンジェスチャは検出され、正常に機能しています。
しかし、パンジェスチャでsecondPointを指定すると、CGPoint secondPoint = [sender locationOfTouch:1 inView:self.imageView];
クラッシュするようになります。
コンソールはメッセージを出している
*** Terminating app due to uncaught exception 'NSRangeException', reason: '-[UIPanGestureRecognizer locationOfTouch:inView:]: index (1) beyond bounds (1).'
panGestureRecognizer.maximumNumberOfTouches = 1;
panGestureRecognizer.minimumNumberOfTouches=1を使用する場合; それでもクラッシュしています。
私が使用するときpanGestureRecognizer.maximumNumberOfTouches = 2;
panGestureRecognizer.minimumNumberOfTouches = 2;
、それは入っていません
- (void)panGestureHandler:(UIPanGestureRecognizer *)sender method.
誰かが私が間違っているところを教えてもらえますか?
よろしくお願いします。
私はこのように試みました。
- (void)viewDidLoad
{
[super viewDidLoad];
// Do any additional setup after loading the view, typically from a nib.
UIPanGestureRecognizer *panGestureRecognizer = [[UIPanGestureRecognizer alloc]initWithTarget:self action:@selector(panGestureHandler:)];
panGestureRecognizer.maximumNumberOfTouches = 2;
[self.imageView addGestureRecognizer:panGestureRecognizer];
}
- (void)panGestureHandler:(UIPanGestureRecognizer *)sender
{
if ([sender state] == UIGestureRecognizerStateBegan )
{
CGPoint firstPoint = [sender locationOfTouch:0 inView:self.imageView];
CGPoint secondPoint = [sender locationOfTouch:1 inView:self.imageView];
}
else if ([sender state] ==UIGestureRecognizerStateEnded )
{
}
}