2012-04-30 16 views
2

ウェブサイトにある画像の一覧を取得し、画面上にタイルとして表示するiOSアプリケーションを作成しています(画像からの画像の表示に似ています)としょうかん)。私はUIImageViewのURLから単一の画像を表示できますが、ウェブサイトから画像の完全なリストを表示することになると、私は無知です。適切な方向への助けや役に立つチュートリアルは高く評価されます。ウェブサイトから画像の一覧を取得して表示する

+0

画像線量はID'sがありますか? (FirebugまたはOpera Dragonflyを使用して確認する) –

答えて

1

この質問には2つの部分があります。私はあなたにそれぞれにすばやい応答を与えます。

1:あなたはあなたのウェブサイトを完全に制御を持っている場合:これは+ arrayWithContentsOfURLを使用するなど、まっすぐ進むのようになり、画像

のリストをダウンロードしてください。 UIスレッドをブロックしないように、ダウンロードを送信してください。

NSURL *URL = self.URLOfImages; 
dispatch_queue_t dispatch = dispatch_queue_create("fetch.images", NULL); 
dispatch_async(dispatch, ^{ 
    NSArray *images = [NSArray arrayWithContentsOfURL:URL]; 
    dispatch_async(dispatch_get_main_queue(), ^{ 
     self.images = images; 
    }); 
}); 
dispatch_release(dispatch); 

注:URLは、それがすなわち自分自身をリロードする必要があるとの見解を通知しなければならないにNSArrayとself.imagesが期待する正確な形式を返す必要があります。 [self.tableView reloadData]

URLの管理が難しい場合は、NSURLRequestのようなものを使用してリクエストを作成し、NSURLConnectionのようなものを使用してデータを取得し、レスポンスからイメージのリストを解析してイメージの配列を作成する必要があります。

さらに複雑なシナリオでは、ページングが行われます。これはリストのうちのいくつかをダウンロードすることだけを必要とし、次により多くの画像を要求してより多くの画像を要求する。

2:これはUITableViewCellStyleDefaultスタイルを使用UITableViewCellsとのUITableViewを使用するのと同じくらい簡単かもしれない画像

の一覧を表示し、各セルのImageViewのプロパティを設定します。

イメージを見やすくするには、UITableViewCellからサブクラス化されたカスタムテーブルビューセルを使用します。これにより、イメージのカスタム配置を使用し、イメージのサイズをあなたが望むものに設定することができます。

はるかに複雑senarioでは、あなたはすべての画像を置くだろうUIScrollViewのを含んで、独自のカスタムビューを作成することができますが。

+0

ありがとうJeffery、私は理解していないことが1つあります。ウェブサイトを完全にコントロールすることはどういう意味ですか? – Waqar

+0

サーバーに新しいURLを作成し、コンテンツの種類、データ、およびそれらのURLから返される書式を制御できますか。 + arrayWithContentsOfURL:を使用するには、適切にフォーマットされたplistを返すためのURLが必要です([XMLプロパティリストの理解](https://developer.apple.com/library/mac/#documentation/Cocoa/Conceptual/PropertyListsを参照)。/UnderstandXMLPlist/UnderstandstandMLPlist.html))。返されるplistは、ラップ、エンコード、またはエスケープすることはできません。 –

0

私は、この "リスト"を傷つけるWebサービスをセットアップします(実際にはサーバーに内部的にアクセスしていないと仮定します)。リストを得るためにlibcurlとPHPを使うことをお勧めします。

http://www.sitepoint.com/own-web-service-php-xml-rpc/

そして、JSON形式でリストを吐き出すとiOSで利用可能なライブラリを使用してそれを解析:

Native JSON support in iOS?

(JSONの構文解析に関して行われた最近何の進歩を参照する必要があるかもしれません私は、この特定の話題が最近の歴史において変化を経験したことについて何かを覚えているようです)。

のlibcurlとPHPの公式ドキュメント:

http://php.net/manual/en/book.curl.php

(ABOVE StackOverflowの質問から撮影):iOSの5のための

更新答え:

JSONサポートされます現在NSJSONSerializationを使用してiOSにネイティブですが、パフォーマンスの点では という条件で比較していますJSONKitへ。

NSJSONSerializationではなくJSONKitを使用することをお勧めします。

+1

デバイスでこれを行う場合、ウェブサイトをホワイトリストに入れる必要があります。そうしないと、iOSはアクセスしません。 –

+0

ありがとうございます。実際にはデバイス上で動作していません。私はインターネットで検索しようとしましたが、ホワイトリストにUR1をどのように追加することができるかについての参照は見つかりません。親切に私を案内したり、チュートリアルや何かを教えてもらえますか? – Waqar

関連する問題