2015年

7月

12日

Swift Scroll UIScrollVie 画像をスライド・スクロールさせる(縦方向)

 

画像を縦方向にスライド・スクロールして表示する方法。

画像は、Scroll Viewの上に乗っています。

ViewController.swift

import UIKit


class ViewController: UIViewController {


    var img: [UIImage] = []

    var imageView01: [UIImageView?] = []

    

    @IBOutlet weak var scrView: UIScrollView!

    

    @IBOutlet weak var imageView: UIImageView!

    

    override func viewDidLoad() {

        super.viewDidLoad()

        // Do any additional setup after loading the view, typically from a nib.        

        

        // 画像配列を設定

        img = [UIImage(named:"img1.png")!,

               UIImage(named:"img2.png")!,

               UIImage(named:"img3.png")!]

        

        // UIImageViewUIIimageを追加

        imageView01 = [UIImageView(image:img[0]),

                       UIImageView(image:img[1]),

                       UIImageView(image:img[2])]

        

        // 全体のサイズ ScrollViewフレームサイズ取得

        let SVSize = scrView.frame.size

        // 画像サイズ x 3 高さ CGSizeMake(240, 240*3) //高さ * 3

        scrView.contentSize =

              CGSizeMake(SVSize.width, SVSize.height * CGFloat(img.count))


        // UIImageViewのサイズと位置を決めます

        // 上下に並べる 縦方向 Y

        for i in 0...2 {

            

            var x:CGFloat = 0

            var y:CGFloat = 0

            var width:CGFloat = 240

            var height:CGFloat = 240

            

            if i == 0 {

                //y = 0

            } else if i == 1 {

                y = 240

            } else if i == 2 {

                y = 480

            }

            

            // Scrollviewに追加

            imageView01[i]!.frame = CGRectMake(x, y, width, height)

            

            // Scrollviewに追加

            scrView.addSubview(imageView01[i]!)

        }

        

        // 1ページ単位でスクロールさせる

        scrView.pagingEnabled = true

        

        //scroll画面の初期位置

        scrView.contentOffset = CGPointMake(0, 0);

    }


    override func didReceiveMemoryWarning() {

        super.didReceiveMemoryWarning()

        // Dispose of any resources that can be recreated.

    }

}

CGRectのorigin X.Yの取得方法


        let rect:CGRect = self.imageView.frame

        var x:CGFloat = rect.origin.x

        let y:CGFloat = rect.origin.y

        

        println("println: \(x) \(y)")

  

目 次