Study/Swift

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

minulbora 2024. 12. 21. 16:09

페이지 컨트롤? 

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

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)
    }
    
}