在UIImagePickerController之后滚动不起作用

时间:2013-05-13 13:30:58

标签: ios uiscrollview uiimagepickercontroller

在我的应用程序中,使用以下代码激活了scrollview。

scroll.contentSize = CGSizeMake(320, 760);
[scroll setScrollEnabled:YES];

[scroll setCanCancelContentTouches:NO];
scroll.indicatorStyle = UIScrollViewIndicatorStyleWhite;
scroll.clipsToBounds = YES;
scroll.pagingEnabled = NO;
scroll.autoresizesSubviews=YES;
[scroll setContentMode:UIViewContentModeScaleAspectFill];

但是在使用UIImagePicker / controller.ie之后。从电话库中选择图像后,滚动无效。上面的代码是在viewWillAppear部分编写的。任何人都可以帮助我,这样我甚至可以在UIImagePickerController之后进行滚动工作吗?谢谢你的帮助...

2 个答案:

答案 0 :(得分:1)

我最近遇到过类似的问题。我有一个ViewControllerA,它是ViewControllerB的父级,ViewControllerB又是ViewControllerC1..N的父级。 ViewControllerB有一个滚动视图,可以滚动ViewControllerC1..N的视图。它只能在iOS9上重现。

如果我提出UIImagePickerController从ViewControllerA获取图像(sourceType == UIImagePickerControllerSourceTypePhotoLibrary),则解除它后,ViewControllerB的scrollview会停止正确滚动。

我做了一个解决方法。我将虚拟视图控制器推入导航堆栈,然后呈现图像选择器,然后弹回ViewControllerA。 这样就行了。

似乎在iOS9中UIImagePickerController在其呈现视图控制器中弄乱了触摸事件。

答案 1 :(得分:-1)

替换你的解雇代码并检查:

[picker dismissViewControllerAnimated:YES completion:^{
        scroll.contentSize = CGSizeMake(320, 760);
        [scroll setScrollEnabled:YES];

        [scroll setCanCancelContentTouches:NO];
        scroll.indicatorStyle = UIScrollViewIndicatorStyleWhite;
        scroll.clipsToBounds = YES;
        scroll.pagingEnabled = NO;
        scroll.autoresizesSubviews=YES;
        [scroll setContentMode:UIViewContentModeScaleAspectFill];
    }];