我想在 ScrollView 中显示照片。因为我想向用户显示整张照片,然后允许用户捏合照片来放大和缩小。所以首先我将 contentsize 设置为固定大小(例如 (320, 568))。但是,当我添加 UIImageView 作为 ScrollView 的 subview 时,如果 UIImageView 的图像大小大于 ScrollView 的内容大小,则只会显示图像的上半部分和左半部分。所以我想知道如何限制 ScrollView 中的 ImageView 并设置图像显示良好(如大多数应用程序中的照片)。我知道一种方法:clipsToBounds,并且我使用它。但它不起作用。谁能帮我?这是我的简单代码:
- (void)viewDidLoad
{
[super viewDidLoad];
self.photoScrollView.contentSize = CGSizeMake(320, 568);
self.photoScrollView.clipsToBounds = YES;
UIImage *image = [UIImage imageNamed:@"image"];
UIImageView *iv = [[UIImageView alloc] initWithImage:image];
[self.photoScrollView addSubview:iv];
[iv sizeToFit];
iv.contentMode = UIViewContentModeScaleAspectFit;
}
提前致谢!
最佳答案
- (void)viewDidLoad
{
[super viewDidLoad];
self.photoScrollView.contentSize = CGSizeMake(320, 568);
self.photoScrollView.clipsToBounds = YES;
self.photoScrollView.maximumZoomScale = 3.0;
self.photoScrollView.minimumZoomScale = 1.0;
UIImage *image = [UIImage imageNamed:@"image"];
UIImageView *iv = [[UIImageView alloc] initWithImage:image];
[self.photoScrollView addSubview:iv];
iv.contentMode = UIViewContentModeScaleAspectFit;
iv.frame=CGRectMake(0, 0, 320, 568); // update this line
// Declare UIImageView* imgView property then assign self.imgView=iv;
}
- (UIView *)viewForZoomingInScrollView:(UIScrollView *)scrollView
{
return self.imgView;
}
关于ios - 如何在其父 View 中完全限制 subview (这是一个 UIImageView)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23311541/