2012-05-08 18 views
0

私のアプリでMonoTouch.Dialogを使用しています。しかし、問題のフォームは、私はTableViewを追加したUIViewControllerを使って実装されています(私はUIToolbarを追加することもできます)。ImageLoaderのデフォルトイメージを設定する方法はありますか?

私はMonoTouch.Dialog.Utilitiesに付属しているImageLoaderが大好きで、ImageViewerのDataSourceのGetCell()メソッドでそれを使ってURLから画像をレンダリングしようとしています。

   var callback = new ImageLoaderCallback(controller, cell.ImageView, indexPath); // ImageLoaderCallback implements IImageUpdated 
       cell.ImageView.Image = ImageLoader.DefaultRequestImage(new Uri(picFV.Value), callback); 

問題は、URLがダウンロードされるまで(画像の右側にあるテキストは実際にはテーブルの左側に固定されるように)、ImageViewのためのスペースが縮小されていることです。

ImageLoaderがイメージの取得とレンダリングを完了したときに、ユーザーエクスペリエンスが不快感を与えることがないように、ダウンロードしたイメージと同じサイズの一時的なローカルイメージを表示します。

GetCell()コールで次のことを試みました... cell.ImageView.Imageが他のイメージに設定されています(下に表示されていません)。ImageLoader.DefaultRequestImage 。

   var image = ImageLoader.DefaultRequestImage(new Uri(picFV.Value), callback); 
       callback.Image = image; 

最後の行は、コールバックの状態にImageLoaderによって返された画像の参照を詰め、そしてImageLoaderが行われたときにコールバックは、セルのImageView.Imageを交換します(下記参照):しかし

// callback class for the MonoTouch.Dialog image loader utility 
    private class ImageLoaderCallback : IImageUpdated 
    { 
     private ListViewController controller; 
     private UIImageView imageView; 
     private NSIndexPath indexPath; 

     public ImageLoaderCallback(ListViewController c, UIImageView view, NSIndexPath path) 
     { 
      controller = c; 
      imageView = view; 
      indexPath = path; 
     } 

     public UIImage Image { get; set; } 

     void IImageUpdated.UpdatedImage(Uri uri) 
     { 
      if (uri == null) 
       return; 
      if (Image != null) 
       imageView.Image = Image; 
      // refresh the display for the row of the image that just got updated 
      controller.TableView.ReloadRows(new NSIndexPath [] { indexPath }, UITableViewRowAnimation.None);     
     } 
    } 

ImageViewerがImageViewをレンダリングしようとすると、ImageLoaderがTableViewによって「引っ張られる」必要があるように見えます(つまり、誰もURLを引き出していないためImageLoaderコールバックが呼び出されません)。

このシナリオをどのように達成できますか?

ありがとうございます!

答えて

関連する問題