簡體   English   中英

UIImageView.image設置器

[英]UIImageView.image setter

我以這種方式制作了兩個側視圖:containerView-兩個視圖的容器firstView-由UIImageView構成的可見視圖secondView-翻轉后可見的視圖

現在,我將使用SDWebImage庫的方法下載異步圖像以顯示在firstView上:

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

圖像可以是水平或垂直的。 現在,我希望secondView與顯示的圖像具有相同的大小。 我正在考慮在UIImageView自定義設置器中設置它,但我不知道如何獲取該方法。 也許還有其他想法嗎?

編輯:

圖片 在此處輸入圖片說明

我想我知道該怎么做。 我現在需要的是UIImageView.image的實際可見大小。

如果您很樂意將AVFoundation導入到項目中,則可以使用便捷功能AVMakeRectWithAspectRatioInsideRect ,該功能可以獲取圖像大小和圖像視圖框架,並為您提供顯示圖像的大小。

您顯然可以自己編寫一些代碼,使用一點數學即可計算出相同的值。

為正在下載的圖像創建一個property 然后為此property創建一個自定義setter -在這里更新您的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"]];

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM