Каков наилучший способ увеличения и уменьшения UIView с помощью простых кнопок метода. (e.i
(IBAction)zoomin:(int)distance
{
method here
}
(IBAction)zoomout:(int)distance
{
and here
}
Каков наилучший способ увеличения и уменьшения UIView с помощью простых кнопок метода. (e.i
(IBAction)zoomin:(int)distance
{
method here
}
(IBAction)zoomout:(int)distance
{
and here
}
Это можно сделать с помощью распознавателя жестов пальца: Вы должны просто записать: -
-(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 - любое значение с плавающей точкой. Вы можете установить это в соответствии с требованиями вашего приложения! Надеюсь, это сработает для вас!:)
Swift 3, 4 +
//Обнаружение увеличения/уменьшения масштаба двумя пальцами для UIView, здесь пример прослушивания на основном экране (вид)
//override func viewDidLoad() {
var pinchGesture = UIPinchGestureRecognizer()
pinchGesture = UIPinchGestureRecognizer(target: self, action: #selector(pinchedView))
view.isUserInteractionEnabled = true
view.addGestureRecognizer(pinchGesture)
//}
//Слушатель
@objc func pinchedView(sender:UIPinchGestureRecognizer){
if(sender.scale > 1){
print ("Zoom out")
}else{
print("Zoom in")
}
}