右下隅のボタンをドラッグしてイメージビューのサイズを変更および回転する機能を持つアプリを開発しています。
右下隅のボタンを斜めにドラッグするとイメージビューのサイズが変更された、またはボタンを左右にドラッグするとイメージビューが方向に従って回転したという機能を持つアプリを見ました。アプリにこの機能を実装したい
イメージビューのサイズ変更だけでなく、1 本の指の回転の実装にも苦労しています。
右下隅のボタンをドラッグすることで、イメージビューのサイズ変更を正常に実装できました。しかし、画像ビューに回転を追加するのに十分な知識がありません
正しい方法で私を導いてください。
右隅をドラッグして画像ビューのサイズを変更するための以下のコードを追加しました。
- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event{
UITouch *touch = [[event allTouches] anyObject];
touchStart = [[touches anyObject] locationInView:imageView];
isResizingLR = (containerVw.bounds.size.width - touchStart.x < kResizeThumbSize && containerVw.bounds.size.height - touchStart.y < kResizeThumbSize);
}
- (void)touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event{
CGPoint touchPoint = [[touches anyObject] locationInView:imageView];
CGPoint previous=[[touches anyObject]previousLocationInView:imageView];
UITouch *touch = [[event allTouches] anyObject];
float deltaWidth = touchPoint.x-previous.x;
float deltaHeight = touchPoint.y-previous.y;
if (isResizingLR) {
containerVw.frame = CGRectMake(containerVw.frame.origin.x, containerVw.frame.origin.y,touchPoint.x + deltaWidth, touchPoint.y + deltaWidth);
imageView.frame = CGRectMake(imageView.frame.origin.x, imageView.frame.origin.y,touchPoint.x + deltaWidth, touchPoint.y + deltaWidth);
dragIm.frame = CGRectMake(containerVw.frame.size.width-10, containerVw.frame.size.height-10,20,20);
if (!isResizingLR) {
containerVw.center = CGPointMake(containerVw.center.x + touchPoint.x touchStart.x,containerVw.center.y + touchPoint.y - touchStart.y);
}
}