[스위프트 기초] 9장 페이지 컨트롤

    페이지 컨트롤? 

    여러 페이지 중에서 현재 페이지를 알려주는 역할. 

    import UIKit
    
    var images = ["rain1.JPG","rain2.JPG","rain3.JPG","rain4.JPG","rain5.JPG"]
    
    class ViewController: UIViewController {
        
        @IBOutlet var imgView: UIImageView!
        @IBOutlet var pageControl: UIPageControl!
        
        override func viewDidLoad() {
            super.viewDidLoad()
            // Do any additional setup after loading the view.
            pageControl.numberOfPages =  images.count
            pageControl.currentPage = 0
            pageControl.pageIndicatorTintColor = UIColor.green
            pageControl.currentPageIndicatorTintColor = UIColor.red
            
            imgView.image = UIImage(named: images[0])
        }
        @IBAction func pageChange(_ sender: UIPageControl) {
            imgView.image = UIImage(named: images[pageControl.currentPage])
            //named = 현재 페이지에 해당하는 이미지 하일의 이름을 images 배열에서 가져옴
            //pageControl.currentPage = 페이지컨트롤의 현재 페이지를 가지고 옴.
        }
        
    
    }

     


    도전과제

    페이지 이동 앱 만들기

    1. 화면에 레이블과 페이지 컨트롤 추가
    2. 레이블의 폰트 크기는 100으로 설정
    3. 페이지 수는 10페이지로 설정
    4. 페이지를 넘길 때마다 1~10까지의 페이지 번호가 표시

    var nowPage = 0
    
    class ViewController: UIViewController {
    
        
        @IBOutlet var lbPage: UILabel!
        @IBOutlet var pageControl: UIPageControl!
        
        override func viewDidLoad() {
            super.viewDidLoad()
    
            pageControl.numberOfPages = 10
            //print(pageControl.numberOfPages)
            pageControl.currentPage = 0
            pageControl.pageIndicatorTintColor = UIColor.lightGray
            pageControl.currentPageIndicatorTintColor = UIColor.blue
            //lbPage.font.withSize(100)
            
            
            lbPage.text = String(nowPage+1)
        }
        
        @IBAction func pageChanged(_ sender: UIPageControl) {
            print(pageControl.currentPage)
            nowPage = pageControl.currentPage+1
            lbPage.text = String(nowPage)
        }
        
    }

    댓글