2017-06-06 4 views
0

イメージが複数あり、Webサービスから取得した特定の値に従ってImageViewのイメージを設定したいと思います。iOS - 特定の値に従ってImageViewにイメージを設定する方法

たとえば、私が値 "犬"を取得した場合、私は犬のイメージを設定する必要があります。

すべての画像は私のxcassetsのレパートリーにあります。

私はそのためのスイッチを作っていいですか?それとももっと良い方法がありますか?

+0

Pは、サーバーから取得した画像の名前の配列を作成し、それに応じて読み込むことができますとしてのモデルを持っていると仮定。 –

+0

xcassets内のすべての画像の名前を、接頭辞の付いた順に変更できます。 'dog'の' dog.png'などとしましょう。その後、その名前が示すようにパスを呼び出します。 – Roy

答えて

0

Webサービスは、あなたはこのように使用するイメージの名前として直接返された名前を使用することができ、あなたの資産に使用したのと同じ名前を返す場合:

let newImage: UIImage? = UIImage(named: imageName) // imageName is the name returned to you by the web service. 
self.myUIImageView.image = newImage 
0

は、あなたが「犬を取得していると言うことができます"値をWebサービスから取得し、.xcassestsフォルダに保存された" dog "イメージを持っている場合は、単に同じ名前を使用してイメージ名を指定することができます。理想的には、.xcassetsフォルダ内のサーバから来るのと同じイメージ名を作成し、イメージを正しくマップします。

あなたがデータ構造体とimagenameのプロパティに格納イメージ名

struct Data { 
    let imageName: String 
} 

let imageName = data.imageName //"dog" 
imageView.image = UIImage(named: imageName) 
関連する問題