iPhoneアプリ開発

【Swift】Storyboardを使わず背景画像を設定

Storyboardを使わず、Swiftで背景画像を設定する方法。

 

今回はアプリ内のローカル画像とWebから取得した画像を使用する場合の2つの方法を記載する。

func setBackgroundImage() {

    // UIImageView インスタンスの生成
    let imageView = UIImageView(image:UIImage(named: "back_ground.png"))
        
	//画像をUIImageViewの左上に表示
	self.view.contentMode = UIViewContentMode.TopLeft
        
	// 画像を追加し、最背面に設定
	self.view.addSubview(imageView)
	self.view.sendSubviewToBack(imageView)
}

 

以下の「named:〜」に続く画像の名前で指定画像を変更可能。

let imageView = UIImageView(image:UIImage(named: "back_ground.png"))

 

次はWebから取得した画像を背景に設定する方法。

// 背景画像
var webImage: UIImage?

// NSURLを取得
let url = NSURL(string: img_url);
let imgData: NSData

// Webから画像取得
do {
    imgData = try NSData(contentsOfURL:url!,options: NSDataReadingOptions.DataReadingMappedIfSafe)
    webImage = UIImage(data:imgData)!;
    
} catch {
    print("Error: can't create image.")
}

 

取得した画像をUIImageに変換し、あとはローカル画像と同じ方法で背景に設定

func setBackgroundImage() {

    // UIImageView インスタンスの生成
    let imageView = UIImageView(image:webImage)
        
    //画像をUIImageViewの左上に表示
    self.view.contentMode = UIViewContentMode.TopLeft
        
    // 画像を追加し、最背面に設定
    self.view.addSubview(imageView)
    self.view.sendSubviewToBack(imageView)
}