0

このように作成された2つのサイドビューがあります: containerView - 両方のビューのコンテナ firstView - UIImageViewで作られた可視ビュー secondView - 反転後に可視ビュー

今、メソッドで SDWebImage ライブラリを使用して、firstView に表示する画像非同期をダウンロードしています。

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

画像は水平または垂直にすることができます。ここで、secondView を提示された画像と同じサイズにしたいと考えています。UIImageViewのカスタムセッターで設定しようと思っていたのですが、そのメソッドの取得方法がわかりません。多分他のアイデアはありますか?

編集:

画像ここに画像の説明を入力

私はそれを行う方法を知っていると思います。今必要なのは、UIImageView.image の実​​際の VISIBLE サイズです。

4

2 に答える 2

1

プロジェクトにインポートしてもよければAVFoundation、これらは便利な関数AVMakeRectWithAspectRatioInsideRectで、画像サイズと画像ビュー フレームを取り、画像が表示されるサイズを提供します。

少し数学を使って同じ値を計算するために、自分でコードを書くことができます。

于 2013-09-22T08:50:56.330 に答える
0

propertyダウンロードするイメージの を作成します。次に、setterこれのカスタムを作成しpropertyます - ここでサイズを更新しますsecondImageView

imageBeingDownloadedこのように、がダウンロードを完了するたびに、イメージが設定され、イメージが更新されます。secondImageView size

すなわち

実装ファイル内

@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 に答える