美文网首页
iOS 自定义自带放大和保存功能imageView

iOS 自定义自带放大和保存功能imageView

作者: 烟雨痕 | 来源:发表于2018-10-09 22:11 被阅读75次
    一、GMZoomImageView具有放大和保存图片的功能。
    使用方式
    1.导入头文件GMZoomImageView.h
    2.将UIImageView替换GMZoomImageView即可
    
    在GMZoomImageView.h暴露了移除手势和添加手势的入口。
    - (void)addTapGesture;//添加点击手势
    
    - (void)removeTapGesture;//移除点击手势
    
    //- (void)addLongGesture;//添加长按手势
    //
    //- (void)removeLongGestrue;//移除长按手势
    

    保存图片成功或失败的弹窗提醒,处理了控制器上添加了view视图,造成弹出的弹窗被view遮挡。

    UIAlertController *alertVC = [UIAlertController alertControllerWithTitle:@"提示" message:message preferredStyle:UIAlertControllerStyleAlert];
        [alertVC addAction:action];
        UIView *backView = [[UIApplication sharedApplication].keyWindow viewWithTag:101];
        if (backView) {
            //处理放大图片后,无法模态弹出UIAlertController的解决方式
            UIWindow *window = [[UIWindow alloc] initWithFrame:[UIScreen mainScreen].bounds];
            window.tag = 102;
            window.userInteractionEnabled = NO;
            window.backgroundColor = [UIColor clearColor];
            
            UIViewController *rootVC = [[UIViewController alloc] init];
            rootVC.view.backgroundColor = [UIColor clearColor];
            window.windowLevel = UIWindowLevelAlert + 1;
            [window makeKeyAndVisible];
            window.rootViewController = rootVC;
            [backView addSubview:window];
            [rootVC presentViewController:alertVC animated:YES completion:nil];
        } else {
            UIViewController *vc = [UIApplication sharedApplication].keyWindow.rootViewController;
            [vc presentViewController:alertVC animated:YES completion:nil];
        }
        
    
    二、另外:自定义的CustomSheet底部弹窗,类似微信,参考http://www.devashen.com/blog/2016/01/22/assheet/
    根据不同枚举类型,弹窗样式不一样。
    typedef NS_ENUM(NSInteger, CustomSheetType) {//提示框类型
        CustomSheetTypeDefault,     //默认 标示没有红字
        CustomSheetTypePrompt,      //title 标示有标题
        CustomSheetTypeWarn,        //title 警告标识(红色字体) 显示红字(比如"删除"显示红色)
    };
    
    
    使用方式:
    CustomSheet *sheet = [[CustomSheet alloc] initWithFrame:CGRectMake(0, 0, [UIScreen mainScreen].bounds.size.width, [UIScreen mainScreen].bounds.size.height) titleArr:@[@"保存图片"] sheetType:CustomSheetTypeDefault];
            __weak typeof(sheet) weakSheet = sheet;
            sheet.Click = ^(NSInteger clickIndex) {
                switch (clickIndex) {
                        case 0:
                        //TODO 
                        break;
                    default:
                        break;
                }
                [weakSheet hiddenSheet:^(BOOL isHidden) {
                    
                }];
            };
            [[UIApplication sharedApplication].keyWindow addSubview:sheet];
        }
    
    GMZoomImageView链接:GMZoomImageView

    相关文章

      网友评论

          本文标题:iOS 自定义自带放大和保存功能imageView

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