2015年

7月

11日

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*3, 240)

        scrView.contentSize =

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


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

        //左右に並べる

        for i in 0...2 {

            

            var x:CGFloat = 0

            var y:CGFloat = 0

            var width:CGFloat = 240

            var height:CGFloat = 240

            

            if i == 0 {

                //x = 0

            } else if i == 1 {

                x = 240

            } else if i == 2 {

                x = 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)")

GitHub ScrollViewSwift

  

目 次