iOS开发小技巧

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

2019-06-25  本文已影响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];
}

上一篇 下一篇

猜你喜欢

热点阅读