我正在尝试实现类似功能的默认照片应用。
我添加了一个图像视图来滚动视图并在下面的方法中实现:
- (UIView *)viewForZoomingInScrollView:(UIScrollView *)scrollView
{
return self.fileDisplayImageView;
}
问题是虽然它正在缩放图像,但它在缩放时会在其边界周围添加空间。
以下是原始图片:
这是缩放后的图像,顶部添加了额外的空白区域:
任何人都可以建议,我该如何解决这个问题?
更新:附加示例代码:ZoomSample
更新:我的初步问题是在实施Robert建议的解决方案后解决的,而不是他:-)。
现在我的新问题是 - 图片没有出现在中心,但看起来与顶部对齐:
答案 0 :(得分:3)
您的代码中存在一些问题,但您所描述的这个特定问题是因为您没有定义图像的大小,而是创建一个帧高等于屏幕的图像,所以这个空白区域就是描述,实际上是你要缩放的图像帧。
我在你的viewDidLoad中做了一些小改动,我希望它有所帮助:
self.imageView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"kittens"]];
[self.imageView setContentMode:UIViewContentModeScaleAspectFit];
self.scrollView.delegate = self;
self.scrollView.contentSize = self.imageView.frame.size;
self.scrollView.maximumZoomScale = 3.0;
self.scrollView.minimumZoomScale = 0.36;
[self.scrollView setZoomScale:0.36];
[self.scrollView addSubview:self.imageView];