美文网首页iOS学习牛叉的demoiOS学习笔记
防支付宝支付 二维码和条形码点击的功能

防支付宝支付 二维码和条形码点击的功能

作者: Booooooooom | 来源:发表于2017-08-31 16:42 被阅读274次

    最近刚上线二维码的支付功能

    产品要求:给我照着支付宝跟微信支付抄!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

    支付的话,可能会涉及一些比较隐私的东西,这篇文章不会去详细说明,本篇文章主要要说的是 二维码点击以及条形码点击的效果(已经封装好了,一拖即用)

    展示一下效果图(项目只能真机,就没有截取GIF了)

    A6B6595E247755FF32BB58A86662BE0D.png 5123AAE96EEE25E0BBEA7BA709FC2606.png EF0C2717959A6ADEC6132F52AACFFE41.png

    --------------------------------分割线------------------------------

    具体的需求:
    1、点击二维码中心放大,再次点击,中心缩小至原来的尺寸
    2、点击条形码,旋转横屏放大,并显示条形码编号

    需求就是这样,分析一下,也不是很难,主要就是动画的东西。
    1、对于二维码点击方法和缩小
    ①首先要考虑一下,直接放大缩小,会很难看,而且也不便于后期修改(主要怕产品又要修改)。所以,我们在放大的时候,我们可以添加一个白色的iamgeView,覆盖整个屏幕,再在这个iamgeView上面,添加一个小的imageView,用于加载二维码,这就需要传一个image进去。
    (这个背景图需要加载window上面)

    //当前imageview的图片
        UIImage *image = currentImageview.image;
        //当前视图
        UIWindow *window = [UIApplication sharedApplication].keyWindow;
        //背景
        UIView *backgroundView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, [UIScreen mainScreen].bounds.size.width, [UIScreen mainScreen].bounds.size.height)];
    
    

    放大的动画

     //动画放大所展示的ImageView
        
        [UIView animateWithDuration:0.4 animations:^{
    //        CGFloat y,width,height;
    //        y = ([UIScreen mainScreen].bounds.size.height - image.size.height * [UIScreen mainScreen].bounds.size.width / image.size.width) * 0.5;
    //        //宽度为屏幕宽度
    //        width = [UIScreen mainScreen].bounds.size.width;
    //        //高度 根据图片宽高比设置
    //        height = image.size.height * [UIScreen mainScreen].bounds.size.width / image.size.width;
            [imageView setFrame:CGRectMake(0, 0, oldframe.size.width * 1.2, oldframe.size.height *1.2)];
        
            imageView.center =backgroundView.center;
            //重要! 将视图显示出来
            [backgroundView setAlpha:1];
        } completion:^(BOOL finished) {
            
        }];
    
    

    2、条形码的思路如上,也就是动画不同,具体可以查看代码

    具体的使用

    #pragma mark - ****************  手势触发事件  ****************
    - (void)qrTapAction {
        NSLog(@"点击二维码");
        [LPScanImageView scanBigImageWithImageView:self.QRCodeImgView];
    }
    
    - (void)barCodeTapAction {
        NSLog(@"点击条形码");
        [LPScanImageView scanBarCodeImageWithImageView:barCodeBgView barcode:self.QRCode];
    }
    

    具体代码已经贴在github上面,求start
    https://github.com/bommmmmmm/LPScanImageViewAnimation.git

    相关文章

      网友评论

        本文标题:防支付宝支付 二维码和条形码点击的功能

        本文链接:https://www.haomeiwen.com/subject/ipnqjxtx.html