0

我有两个这样的侧视图: containerView - 两个视图的容器 firstView - 由 UIImageView 组成的可见视图 secondView - 翻转后可见的视图

现在我正在使用 SDWebImage 库通过以下方法下载图像异步以呈现在 firstView 上:

    [view.imageView setImageWithURL:[NSURL URLWithString:item.image]
                   placeholderImage:[UIImage imageNamed:@"placeholder.png"]];

图像可以是水平的或垂直的。现在我希望 secondView 与呈现的图像大小相同。我正在考虑在 UIImageView 自定义设置器中设置它,但我不知道如何获取该方法。也许还有其他想法?

编辑:

图片在此处输入图像描述

我想我知道该怎么做。我现在只需要 UIImageView.image 的实际可见大小。

4

2 回答 2

1

如果您愿意将其导入AVFoundation您的项目,这是一个方便的功能AVMakeRectWithAspectRatioInsideRect,它采用图像大小和图像视图框架,并为您提供图像显示的大小。

您显然可以自己编写一些代码来使用一些数学计算相同的值。

于 2013-09-22T08:50:56.330 回答
0

property为正在下载的图像创建一个。setter然后为此创建一个自定义property- 在这里更新您的secondImageView尺寸。

这样,每次imageBeingDownloaded下载完成时 - 它都会设置图像 - 然后更新secondImageView size

IE

在实现文件中

@property (nonatomic, weak) UIImage *imageBeingDownloaded; // creates the property

// The custom setter
- (void)setImageBeingDownloaded:(UIImage *)imageBeingDownloaded {
    _imageBeingDownloaded = imageBeingDownloaded;
    self.secondImageView.size = _imageBeingDownloaded.size; // each time the image is set this will update secondImageView
}

然后

[view.imageView setImageWithURL:[NSURL URLWithString:item.image] placeholderImage:[UIImage imageNamed:@"placeholder.png"]];

变成

[self.imageBeingDownloaded setImageWithURL:[NSURL URLWithString:item.image] placeholderImage:[UIImage imageNamed:@"placeholder.png"]];

于 2013-09-22T08:50:32.900 回答