您的位置:首页 > 产品设计 > UI/UE

临时解决UIImagePickerController在可编辑模式下选择相册图片后不能上移的bug

2011-11-16 15:08 681 查看
公司在做一个拍照软件,老大们在使用后反应选择图片后总是拖拽不上去,如下图这样的,用户选择图片后进入此页面,此时用户不能将图片的底部移动至白色矩形框中。当用户做一下缩放后,就可以移动图片了,这个应该算是一个bug,可能很多用户会误以为根本不能拖拽上去。



为了解决这个问题可愁死我了,苹果没有提供任何可用的针对这个页面的API,偶然间在解决其他需求的情况下发现了比较怪异的解决方法。在进入到上图页面时,UINavigationController的堆栈中有三个视图控制器,PLUILibraryViewController,PLUIAlbumViewController,PLUIImageViewController,我们需要在UINavigationControllerDelegate的方法中做如下设置navigationController.navigationBar.translucent值做变更,我们可以在进入PLUIAlbumViewController时设置navigationController.navigationBar.translucent
= NO;在进入PLUIImageViewController时设置navigationController.navigationBar.translucent
= YES;(这样做的缺点就是,前面选择图片时导航条不再半透明了,我还没做其他尝试,估计这个问题应该可以解决,选择不同的实际进行设置)

此时显示的图片跟上图位置上有明显不同(如下图),此时用户就可以随意的移动图片了。



我的代码如下

- (void)navigationController:(UINavigationController *)navigationController willShowViewController:(UIViewController *)viewController animated:(BOOL)animated{
if (imagePickerController.sourceType == UIImagePickerControllerSourceTypePhotoLibrary && [navigationController.viewControllers count] <=2) {
viewController.wantsFullScreenLayout = NO;
navigationController.navigationBar.translucent = NO;
}else{
viewController.wantsFullScreenLayout = YES;
navigationController.navigationBar.translucent = YES;
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: