问题描述
在使用系统图库选择单张图片后进入裁剪界面,此时点击取消的时候很难点击到按钮。
解决方法
选择图片的方式为当前的vc
presentViewController
的UIImagePickerController
对象,即为图库的选择器,还是在当前的应用内,那么可以在弹出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];
}
网友评论