0
ピンチジェスチャーレコグナイザーを追加すると画像が1つしかありませんが、ピンチアウトを水平にすると画像ビューの幅を増やす必要があります。垂直にすると高さを上げる必要があります。 ?私は次のようにコード化しましたが、私は垂直にピンチアウトするとき、高さだけ増加しなければなりません。しかし、ビューは消えています。iphone sdkのピンチアウトでのみ高さを上げるには?
- (id)initWithFrame:(CGRect)frame {
self = [super initWithFrame:frame];
if (self) {
// Initialization code.
}
UIPinchGestureRecognizer *panGestureRecognizer = [[UIPinchGestureRecognizer alloc] initWithTarget:self action:@selector(handlePinch:)];
[self addGestureRecognizer:panGestureRecognizer];
[panGestureRecognizer release];
return self;
}
-(void) handlePinch:(UIPinchGestureRecognizer *)gesture
{
UIPinchGestureRecognizer *pinchGesture = (UIPinchGestureRecognizer *) gesture;
if ([pinchGesture state] == UIGestureRecognizerStateBegan){
lastTouchPosition = [pinchGesture locationInView:self];
} else if ([gesture state] == UIGestureRecognizerStateBegan || [pinchGesture state] == UIGestureRecognizerStateChanged){
CGPoint currentTouchLocation = [pinchGesture locationInView:self];
CGPoint deltaMove =[self CGPointDistance:currentTouchLocation p2:lastTouchPosition];
float distance = sqrt(deltaMove.x*deltaMove.x + deltaMove.y*deltaMove.y);
float hScale = 1 - abs(deltaMove.x)/distance * (1-pinchGesture.scale);
float vScale = 1 - abs(deltaMove.y)/distance * (1-pinchGesture.scale);
self.transform = CGAffineTransformScale([self transform], hScale, vScale);
lastTouchPosition = currentTouchLocation;
}
ご使用のコードで質問を編集し、正確に何が起こったのかを指定してください。 – Viraj
こんにちは、plsは私のコードを見て、私のせいを修正しますか? – nameless