用简单的方法按钮放大和缩小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];
}

这样,您已经初始化了一个实例,该实例将在屏幕上(或您要在其上应用此方法的 View )照顾两个手指的感觉
现在定义如果您识别出两个手指该怎么办:
- (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 Action 自动调用的,但是它将通过简单的方式解决您的问题
如果您严格希望在IBAction上使用缩放,则只需执行以下操作:
 -(IBAction)methodCalledOnClickingUIButton:(id)sender
{
    if(sender==zoomInButton)
     {
       scaleValue++;
     }
    else if(sender==zoomOutButton)
     {
       scaleValue--;
     }
     CGAffineTransform transform = CGAffineTransformMakeScale(scaleValue,scaleValue);
     self.view.transform = transform;
}

其中scaleValue是任何浮点值。您可以根据您的应用程序要求进行设置!
希望它对您有用! :)

10-07 14:35