LoginSignup
65
66

More than 5 years have passed since last update.

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

Last updated at Posted at 2014-11-07

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

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

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)

65
66
2

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
65
66