簡體   English   中英

iOS SDWebImage淡入UITableViewCell

[英]iOS SDWebImage fade in UITableViewCell

我一直在我的iOS應用程序上使用SDWebImage(ver3.0),一旦它加載像Path2.0,Pinterest和Viddy,我想淡入uitableviewcell的新圖像。感謝iOS SDWebImage淡入新圖像 ,淡入淡出 - 本身就是在工作。 但是,滾動tableview時,單元格中的圖像會再次加載。 這可能是由細胞的重復使用引起的。

這是我的代碼。

[cell.userImageView setImageWithURL:url
                   placeholderImage:placeholderImage
                          completed:^(UIImage *image, NSError *error, SDImageCacheType cacheType) {
                              if (!error) {
                                  cell.userImageView.alpha = 0.0;
                                  [UIView transitionWithView:cell.userImageView
                                                    duration:1.0
                                                     options:UIViewAnimationOptionTransitionCrossDissolve
                                                  animations:^{
                                                      [cell.userImageView setImage:image];
                                                      cell.userImageView.alpha = 1.0;
                                                  } completion:NULL];
                              }
                          }];

感謝@OzBoz指出正確的解決方案是確認圖像是否是從網絡中檢索的(未緩存),如果是,請執行動畫:

[cell.userImageView setImageWithURL:url
                   placeholderImage:placeholderImage
                          completed:^(UIImage *image, NSError *error, SDImageCacheType cacheType) {
                              if (image && cacheType == SDImageCacheTypeNone)
                              {
                                  cell.userImageView.alpha = 0.0;
                                  [UIView animateWithDuration:1.0
                                                   animations:^{
                                                       cell.userImageView.alpha = 1.0;
                                                   }];
                              }
                          }];

如果您擔心單元格不再可見,您還可以使用:

UITableViewCell *cell = [tableView cellForRowAtIndexPath:indexPath];

如果行仍然可見,則此方法(不要被類似命名的UITableViewDataSource方法混淆)將返回非nil 這在大多數UITableViewCell異步圖像檢索過程中非常重要,但事實證明setImageWithURL將取消任何先前的圖像檢索過程,因此在使用SDImageWeb時檢查這一點並不重要。

暫無
暫無

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

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