我正在寻找一个UIScrollView内部的UIImageView,它可以放大,然后左右摇摄和一切。所有这些都是在代码中完成的,没有使用IB。
我尝试添加图像和滚动视图,如下所示:
self.imageBeingOverlayed = [[UIImageView alloc] initWithImage:responseObject];
self.imageBeingOverlayed.contentMode = UIViewContentModeScaleAspectFit;
self.imageBeingOverlayedScrollView = [[UIScrollView alloc] initWithFrame:[UIScreen mainScreen].bounds];
self.imageBeingOverlayedScrollView.contentSize = ((UIImage *)responseObject).size;
self.imageBeingOverlayedScrollView.maximumZoomScale = 5.0;
self.imageBeingOverlayedScrollView.minimumZoomScale = 0.5;
[self.imageBeingOverlayedScrollView addSubview:self.imageBeingOverlayed];
[darkOverlayView addSubview:self.imageBeingOverlayedScrollView];在创建图像视图的位置,然后将其添加到我创建的滚动视图中(这两个对象都可以在整个文件中访问)。使用我创建的滚动视图,我只想让它和图像一样大,但我对如何创建框架感到困惑。也许就是这个原因。
但是不管怎样,我设置了最大和最小缩放比例,在viewDidLoad中将scrollview的委托设置为self,并且我也实现了这个方法:
- (UIView *)viewForZoomingInScrollView:(UIScrollView *)scrollView {
return self.imageBeingOverlayed;
}但当我运行这个应用程序并使用一个相当大的图像时,图像可以平移,但根本不能放大。怎么回事?
发布于 2013-12-08 05:40:35
根据描述,在设置minimumZoomScale和maximumZoomScale之前没有设置scrollView的委托。在这种情况下,因为委托仍然是nil,所以对viewForZoomingInScrollView的调用不起作用。要解决此问题,请尝试在代码中设置委托后设置contentSize、minimumZoomScale和maximumZoomScale:
self.imageBeingOverlayedScrollView.delegate = self;
self.imageBeingOverlayedScrollView.contentSize = self.imageBeingOverlayed.image.size;
self.imageBeingOverlayedScrollView.maximumZoomScale = 5.0;
self.imageBeingOverlayedScrollView.minimumZoomScale = 0.5;https://stackoverflow.com/questions/20446341
复制相似问题