m_shige1979のときどきITブログ

プログラムの勉強をしながら学習したことや経験したことをぼそぼそと書いていきます

Github(変なおっさんの顔でるので気をつけてね)

https://github.com/mshige1979

swiftの学習(xcodeで画像を表示)

画像を読みこんで表示する

サンプル

シングルページアプリケーションで作成し、アイテムを設定

f:id:m_shige1979:20141001215124p:plain

検索して適当な画像をダウンロードする

f:id:m_shige1979:20141001215330p:plain

サンプル画像をドラッグする

f:id:m_shige1979:20141001215647p:plain

画像をコピー

f:id:m_shige1979:20141001215745p:plain

ボタンと画像のアイテムをviewと連結

f:id:m_shige1979:20141001220153p:plain

ソース編集
//
//  ViewController.swift
//

import UIKit

class ViewController: UIViewController {

    @IBOutlet weak var img_view: UIImageView!
    
    override func viewDidLoad() {
        super.viewDidLoad()
        // Do any additional setup after loading the view, typically from a nib.
    }

    override func didReceiveMemoryWarning() {
        super.didReceiveMemoryWarning()
        // Dispose of any resources that can be recreated.
    }
    
    // 押下したら画像を表示
    @IBAction func btn_pushImageSet(sender: AnyObject) {
        
        // 画像を読み込み
        let myImage: UIImage = UIImage(named: "sample.jpeg")!
        // 画面に画像を設定する
        img_view.image = myImage
        
    }
    
}
結果

f:id:m_shige1979:20141001220710p:plain
※別にネコが好きなわけではない

改良版

imageviewは貼り付けないでボタンだけ

f:id:m_shige1979:20141001234123p:plain

view修正
//
//  ViewController.swift
//

import UIKit

class ViewController: UIViewController {
    
    var myImageView: UIImageView!
    
    override func viewDidLoad() {
        super.viewDidLoad()
        // Do any additional setup after loading the view, typically from a nib.
        
        // UIImageViewの生成
        myImageView = UIImageView(frame: CGRectMake(0, 0, 300, 200))
        
        // 画像を表示する座標を指定
        myImageView.layer.position = CGPoint(x: (self.view.bounds.width - 10) / 2, y: 200)
        
        // 画像の設定
        let myImage = UIImage(named: "sample.jpeg")
        
        // 画像をUIImageViewに設定
        myImageView.image = myImage
        
        // UIImageViewをViewに追加
        self.view.addSubview(myImageView)

    }

    override func didReceiveMemoryWarning() {
        super.didReceiveMemoryWarning()
        // Dispose of any resources that can be recreated.
    }

    @IBAction func btn_pushImageSet(sender: AnyObject) {
        
        var n = arc4random() % 3 + 1;
        
        // 画像の設定
        let myImage = UIImage(named: "sample\(n).jpeg")
        
        // 画像をUIImageViewに設定
        myImageView.image = myImage
        
    }

}

実行

f:id:m_shige1979:20141001234356p:plain

f:id:m_shige1979:20141001234435p:plain
※ランダムに3つの画像を表示するサンプル

所感

画像サイズは画面よりはるかに大きい場合はとんでもないことになるかも
なんか集中できる長めの時間がほしいと常々思ってしまう…
普通に人より理解が遅いと思っているので調査などにも時間がかかっている感じ