увеличить высоту только в распиновке в 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;
}

person nameless    schedule 16.09.2011    source источник


Ответы (1)


См. этот поток. В основном вы должны использовать разные значения для ваших аффинных преобразований.

person Viraj    schedule 16.09.2011
comment
Отредактируйте свой вопрос с помощью кода, который вы использовали, и укажите, что именно произошло. - person Viraj; 19.09.2011