увеличение и уменьшение масштаба UIView - PullRequest
13 голосов
/ 18 февраля 2011

Каков наилучший способ увеличения и уменьшения UIView с помощью простых кнопок метода.(ei

(IBAction)zoomin:(int)distance
{
method here
}
(IBAction)zoomout:(int)distance
{
and here
}

Ответы [ 2 ]

27 голосов
/ 29 июля 2011

Это можно сделать с помощью распознавания жестов двумя пальцами: Вы должны просто записать: -

-(void)viewDidLoad
{
UIPinchGestureRecognizer *twoFingerPinch = [[[UIPinchGestureRecognizer alloc] 
                                           initWithTarget:self 
                                           action:@selector(twoFingerPinch:)] 
                                           autorelease];

[[self view] addGestureRecognizer:twoFingerPinch];
}

Этим вы инициализировали экземпляр, который позаботится о ощущениях двух пальцев на экране (или представлении, к которому вы применяете этот метод) Теперь определите, что делать, если вы узнали два пальца:

- (void)twoFingerPinch:(UIPinchGestureRecognizer *)recognizer 
{
    NSLog(@"Pinch scale: %f", recognizer.scale);
    CGAffineTransform transform = CGAffineTransformMakeScale(recognizer.scale, recognizer.scale);
                                      // you can implement any int/float value in context of what scale you want to zoom in or out
    self.view.transform = transform;
}

Определенный выше метод вызывается автоматически не через действия UIButton, но он решит вашу проблему с простотой Если вы строго хотите использовать масштабирование в IBAction, просто сделайте это:

 -(IBAction)methodCalledOnClickingUIButton:(id)sender
{
    if(sender==zoomInButton)
     {
       scaleValue++;
     }
    else if(sender==zoomOutButton)
     {
       scaleValue--;
     }
     CGAffineTransform transform = CGAffineTransformMakeScale(scaleValue,scaleValue);
     self.view.transform = transform;
}

Где scaleValue - любое значение с плавающей запятой. Вы можете установить его в соответствии с требованиями вашего приложения! Я надеюсь, что это будет хорошо работать для вас! :)

1 голос
/ 04 января 2018

Свифт 3, 4 +

Обнаружение увеличения / уменьшения двумя пальцами для UIView. Вот пример прослушивания на главном экране:

override func viewDidLoad() {    
     var pinchGesture = UIPinchGestureRecognizer(target: self, action: #selector(pinchedView))
     view.isUserInteractionEnabled = true
     view.addGestureRecognizer(pinchGesture)    
}

// Listener

@objc func pinchedView(sender: UIPinchGestureRecognizer) {
    if sender.scale > 1 {
        print("Zoom out")
    } else{
        print("Zoom in")
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...