LoginSignup
10
10

More than 5 years have passed since last update.

画像表示とそのクリッピング、セグメント操作など

Posted at

アプリ画面

やったこと

  • プログラムから画像を表示する
  • 画像のクリッピングとか縦横比固定方法を確認する
  • セグメント(スライダーみたいなやつ)制御方法を確認する

コード

ViewController.swift
class ViewController: UIViewController {

    // 画像表示のイメージビュー
    @IBOutlet var myDisplay: UIImageView!
    override func viewDidLoad() {
        super.viewDidLoad()
        // Do any additional setup after loading the view, typically from a nib.
    }

    // 画像を表示
    @IBAction func dispImage(sender: UIButton) {

        // ファイル名を指定
        var img:UIImage! = UIImage(named:"winter_present.png")
        // 座標とサイズを指定
        var rect:CGRect = CGRectMake(90, 80, 100, 100)
        var imageView = UIImageView()
        imageView.frame = rect
        imageView.image = img
        // 縦横比保持
        imageView.contentMode = UIViewContentMode.ScaleAspectFit
        // ビューに追加
        self.view.addSubview(imageView)


        // ファイル名を指定
        var img2:UIImage! = UIImage(named:"winter_present.png")
        // 座標とサイズを指定
        var rect2:CGRect = CGRectMake(90, 70, 200, 200)
        var imageView2 = UIImageView()
        imageView2.frame = rect2
        imageView2.image = img2
        // 伸縮しないで、左上を固定
        imageView2.contentMode = UIViewContentMode.TopLeft
        // rect2のサイズを超えたらカット
        imageView2.clipsToBounds = true
        // ビューに追加
        self.view.addSubview(imageView2)


    }
    // 画像2非表示にする(セグメント切り替え)
    @IBAction func changeSegment(sender: UISegmentedControl) {

        var fileName = "winter_iceskate.png"
        if (sender.selectedSegmentIndex == 1) {
            self.myDisplay.image = UIImage(named: fileName)
        } else {
            self.myDisplay.image = nil
        }
    }
    override func didReceiveMemoryWarning() {
        super.didReceiveMemoryWarning()
        // Dispose of any resources that can be recreated.
    }


}

ソース

コメント

  • ファイル名はグループ名(フォルダ名)を気にしなくて良い。
    ×Images/winter_present.png
    ○winter_present.png

  • やっとnilを使った

10
10
0

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
10
10