带有图像的 UIScrollView - 如何不缩放其中一个
Posted
技术标签:
【中文标题】带有图像的 UIScrollView - 如何不缩放其中一个【英文标题】:UIScrollView with images - how not to zoom one of them 【发布时间】:2013-08-30 11:58:48 【问题描述】:我在scrollView
中有很多imageViews
。问题是我希望其中一个不要放大其图像。我无法将imageView
移动到scrollView
之外,因为它必须根据@ 中的缩放和平移手势更改位置(帧) 987654325@。有没有机会不放大这个imageView
的图片?
【问题讨论】:
动态且一致地将其缩放更新为1/zoomGestureZoom
?
@JamesWebster 你到底是什么意思..?我无法更改 imageView 的缩放,只能更改 scrollView 的缩放。我不想更改 scrollView 的缩放,因为还有其他应该缩放的 imageView。
啊,忽略这个。我不怎么使用 UIKit,我没有意识到缩放 UIImageView 不是一件容易的事。
您在滚动视图中添加的图像视图的大小是多少? imageViews 的大小是比 scrollView 的视图小还是等于它的大小?
@CodenameLambda1 imageViews 有不同的尺寸和变换。有些相等,有些更大,有些更小。我不想放大其内容图像的那个在宽度或高度上与 scrollView 相等,并且在相反方向上更小。这个也没有任何转换。
【参考方案1】:
由于您的 imageViews 在滚动视图的大小方面具有不同的大小,因此您可以通过以下方式实现这一点
从 UIScrollView 派生一个类并在其中添加 UIImageView。如下:
@interface MyScrollView : UIScrollView <UIScrollViewDelegate>
@property(nonatomic,retain)UIImageView *imageView;
@end
@implementation
-(id)initWithFrame:(CGRect)frame
self = [super initWithFrame:frame];
self.delegate = self;
self.minimumZoomScale = 1.0f;
self.maximumZoomScale = 3.0f;
self.bounces= NO;
self.imageView = [[UIImageView alloc] initWithFrame:self.bounds];
[self addSubview:self.imageView];
return self;
-(UIView*)viewForZoomingInScrollView:(UIScrollView*)scrollView
return self.imageView;
@end
现在您可以将上述 MyScrollView 的实例添加到实际的 scrollView 中。 这就像一个滚动视图中的滚动视图。
使您的滚动视图不可缩放。
通过以下方式在每个滚动视图中添加您的图像:
[myScrollViewInstance.imageView setImage:myImage];
这样在进行捏合手势时,只有你捏合下的imageView会放大或缩小。
【讨论】:
以上是关于带有图像的 UIScrollView - 如何不缩放其中一个的主要内容,如果未能解决你的问题,请参考以下文章