Gesture-Pinch(捏)

本文介绍如何使用UIPinchGestureRecognizer实现iOS应用中的视图缩放功能。通过监听缩放手势状态变化调整视图的大小,实现了平滑的放大缩小效果。文中详细展示了处理UIPinchGestureRecognizer状态的方法及视图的transform属性设置。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1。Pinch works in two ways:scaling up / scaling down ,连续的手势


@property (nonatomic, strong) UILabel *lbl;

@property  CGFloat currentScale; //比例

- (void) handlePinches:(UIPinchGestureRecognizer*)paramSender{

    

    if (paramSender.state == UIGestureRecognizerStateEnded){

        self.currentScale = paramSender.scale;

    } else if (paramSender.state == UIGestureRecognizerStateBegan &&

               self.currentScale != 0.0f){

        paramSender.scale = self.currentScale;

    }

    

    if (paramSender.scale != NAN && paramSender.scale != 0.0){

        paramSender.view.transform = CGAffineTransformMakeScale(paramSender.scale,  paramSender.scale); // X , Y

    }  

}

-(void)initLabel {

    CGRect labelRect = CGRectMake(0.0f, 0.0f,200.0f,200.0f); 

    

    self.lbl = [[UILabel alloc] initWithFrame:labelRect];

    self.lbl.center = self.view.center;

    self.lbl.backgroundColor = [UIColor greenColor ] ;


     //可交互,通常在图像上操作也需要加,如UIImageView ...

    self.lbl.userInteractionEnabled = YES;

    

    [self.view addSubview:self.myBlackLabel];

}

- (void)addGesture {

    UIPinchGestureRecognizer *pinchGesture =  [[UIPinchGestureRecognizer alloc] initWithTarget:self action:@selector(handlePinches:)];


    //在UILabel上加手势

    [self.lbl addGestureRecognizer:self.pinchGestureRecognizer];   

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值