Edited at

[Swift] 指定したURLの画像を表示する。

More than 3 years have passed since last update.

ググりながらコピペプログラミングしていたけど、仕様変更(?)とかで躓いたのでメモ。

まずはローカル画像表示。


ViewController.swift

// UIImageViewを作成する.

let myImageView: UIImageView = UIImageView(frame: CGRectMake(0,0,100,120))

// 表示する画像を設定する.
let myImage = UIImage(named: "logo.png")

// 画像をUIImageViewに設定する.
myImageView.image = myImage

// 画像の表示する座標を指定する.
myImageView.layer.position = CGPoint(x: self.view.bounds.width/2, y: 200.0)

// UIImageViewをViewに追加する.
self.view.addSubview(myImageView)



https://sites.google.com/a/gclue.jp/swift-docs/ni-yinki100-ios/uikit/005-uiimageviewde-hua-xiangwo-biao-shi


難なくクリア、ここからが本番。

URLからUIImageを生成すべく


http://swift-salaryman.com/uiimage.php


こちらをコピペしてみたものの動かず…。

調べてみると、仕様変更(?)が入った模様。

* NSURL.URLWithString→NSURL(string:

* NSData.dataWithContentsOfURL→NSData(contentsOfURL:

でいけるようなので、その他なんやら修正して以下で行けた。


ViewController.swift

// URLを指定したUIImageの生成例

let url = NSURL(string: "http://www.ex.co.jp/ex.png");
var err: NSError?;
var imageData :NSData = NSData(contentsOfURL: url!,options: NSDataReadingOptions.DataReadingMappedIfSafe, error: &err)!;
var img = UIImage(data:imageData);

//それをselfのUIViewへ追加する場合は、
//UIImageViewに追加してからselfへaddSubviewする
let iv:UIImageView = UIImageView(image:img);
iv.frame = CGRectMake(0, 0, 120, 120);
self.view.addSubview(iv);

// 画像の表示する座標を指定する.
iv.layer.position = CGPoint(x: self.view.bounds.width/2, y: 200.0)