1

Rubymotion を使用して iOS アプリを作成しています。カスタム テーブルビュー行を作成していて、リモート API から大きな画像を追加したい (JSON オブジェクトから URL を取得する)。

これどうやってするの?リモート URL から画像を作成してセルに追加する方法がどこにも見つかりません。

すべての助けに感謝します!

アップデート

現在このコードを使用していますが、テーブルをスクロールするときのパフォーマンスが非常に悪いです。

url = NSURL.URLWithString("http://www.gravatar.com/avatar/1d92e61d7066383b1e3c797ea635f86e?s=128&d=identicon&r=PG")
    data = NSData.dataWithContentsOfURL(url)
    remote = UIImage.imageWithData(data)
    image = UIImageView.alloc.initWithFrame([[50, 50],[150, 50]])
    image.contentMode = UIViewContentModeScaleAspectFit
    image.image = remote

更新 2

私は良いパフォーマンスを発揮するこのコードになりました。あとは、画像をキャッシュする方法を理解する必要があります。

Dispatch::Queue.concurrent.async do
      data = NSData.alloc.initWithContentsOfURL(NSURL.URLWithString(post.image_medium))
      if data
        image = UIImage.alloc.initWithData(data)
        Dispatch::Queue.main.sync do
          image_view = UIImageView.alloc.initWithFrame([[210, 10],[80, 80]])
          image_view.image = image
          view.addSubview(image_view)
        end
      end
    end
4

1 に答える 1

1

1 つのセルに 1 つの画像のみを使用する場合

NSData *data = [NSData dataWithContentsOfURL:[NSURL URLWithString:@"http://www.example.com/exampleImage.png"]];
yourCell.image = [UIImage imageWithData:data];

たくさんある場合、または UI をブロックしたくない場合は、AsyncImageViewを使用します。

于 2012-11-27T17:49:15.420 に答える