我正在使用 UIImageView 缩放图像: UIViewContentModeScaleAspectFill
图像可以很好地缩放,但我的问题是 ImageView 位于 UIScrollView 中,我已将原点设置为 0,0。这对于我使用的大多数图像来说都很好,但有些图像的高度更高并且超出了界限。我不想修剪图像,我想根据超出范围的数量动态地将 UIImageView 框架向下推到 Y 轴上。
我怎样才能找出 Y 轴/高度上超出范围的内容?请原谅糟糕的代码示例。
NSString *ImageURL = [self.detailItem objectForKey:@"job_header"];
anImage = [[UIImageView alloc] initWithFrame:CGRectMake(0, 0, MAX_HEIGHT, 118)];
anImage.contentMode = UIViewContentModeScaleAspectFill;
[anImage setImageWithURL:[NSURL URLWithString:ImageURL] placeholderImage:[UIImage imageNamed:@"placeholder.png"] completed:^(UIImage *image, NSError *error, SDImageCacheType cacheType) {
//Adjust the frame once the image is loaded
[self adjustPositions];
}];
在调整位置:
if (anImage.image.size.height > MAX_HEIGHT) {
CGRect myFrame = anImage.frame;
myFrame.origin.y = 100;
myFrame.origin.y = anImage.frame.size.height / anImage.image.size.height;
anImage.frame = myFrame;
}
我也在使用:SDWebImage,这是 Q 相关的,可以更好地解释我的问题:UIImageView、setClipsToBounds 以及我的图像是如何失去理智的
请注意,我根本不想剪裁边界。我想保留边界并简单地将原点移动到真正的 (0,0) 位置。