美文网首页iOS开发小技巧
iOS 解决系统图库裁剪取消按钮不好点击问题

iOS 解决系统图库裁剪取消按钮不好点击问题

作者: 整个夏天 | 来源:发表于2019-06-25 18:17 被阅读0次

    问题描述

    在使用系统图库选择单张图片后进入裁剪界面,此时点击取消的时候很难点击到按钮。

    解决方法

    选择图片的方式为当前的vc presentViewControllerUIImagePickerController对象,即为图库的选择器,还是在当前的应用内,那么可以在弹出UIImagePickerController后在window上加入一个透明的button和取消按钮显示在大概相同的位置,然后为此按钮添加一个点击事件,在点击的时候直接dismiss即可。

    创建透明按钮

    self.btnCancel=[[UIButton alloc] initWithFrame:CGRectMake(0, [UIScreen mainScreen].bounds.size.height-80, 80, 80)];
    self.btnCancel.backgroundColor=UIColor.clearColor;
    [self.btnCancel addTarget:self action:@selector(cancelClick) forControlEvents:UIControlEventTouchUpInside];
    

    点击取消返回

    - (void)cancelClick{
        //在裁剪界面的时候控制器的vc总数为3个,这个时候点击在dismiss
        if (self.photoVC.viewControllers.count==3) {
            [self.photoVC popViewControllerAnimated:YES];
        }
    }
    

    在进入图库后将按钮加入

    //调用相册
    self.photoVC.sourceType = UIImagePickerControllerSourceTypePhotoLibrary;
    [self.rootViewController presentViewController:self.photoVC animated:YES completion:^{
         UIWindow * window =[UIApplication sharedApplication].delegate.window;
         [window addSubview:self.btnCancel];
    }];
    

    监听在图库中点击系统导航器上的取消按钮

    点击了系统取消按钮,则dismiss后将按钮移除即可

    - (void)imagePickerControllerDidCancel:(UIImagePickerController *)picker{
        [picker dismissViewControllerAnimated:YES completion:nil];
        [self.btnCancel removeFromSuperview];
    }
    
    

    相关文章

      网友评论

        本文标题:iOS 解决系统图库裁剪取消按钮不好点击问题

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