카테고리 없음

IOS ) PickerView를 통한 구구단 출력

Chain X 2020. 8. 26. 01:41
728x90
반응형

@ 메인 스토리보드에서 PickerView 와 ViewController를 반드시 연결 후 delegate를 반드시 해준다.

//
//  ViewController.swift
//  pickerviewQuiz
//
//  Created by Leo_Jang on 25/08/2020.
//  Copyright © 2020 Leo_Jang. All rights reserved.
//

import UIKit

class ViewController: UIViewController,UIPickerViewDelegate,UIPickerViewDataSource {
    
    @IBOutlet weak var lblImageFileName: UILabel!
    @IBOutlet weak var pickerView: UIPickerView!
    @IBOutlet weak var tvResult: UITextView!
    
    
    let MAX_ARRAY_NUM = 8
    let PICKER_VIEW_COLUM = 1
    var numbersName = [2,3,4,5,6,7,8,9]
    
    var firstNum = 0
    
    override func viewDidLoad() {
        super.viewDidLoad()
        // Do any additional setup after loading the view.
              // i 값을 0에서 MAX_ARRAY_NUM보다 작을 때까지 반복
        lblImageFileName.text = "2단"
        gugudan(firstNum: Int(2))
    }
    func gugudan(firstNum: Int){
        for i in 1...9 {
            tvResult.text += "\(firstNum) X \(i) = \(String.init(format: "%2d",(firstNum*i))) \n"
          
        }
 
    }
    // number Of Columns to display (한 컬럼에 하나씩 보여줌)
    func numberOfComponents(in pickerView: UIPickerView) -> Int {
        return PICKER_VIEW_COLUM
    }
    
    // number Of rows in each component (총 갯수)
    func pickerView(_ pickerView: UIPickerView, numberOfRowsInComponent component: Int) -> Int {
        return numbersName.count
    }
      // String of title in each component (피커뷰 타이틀) (보여줄 이름, 인자값: 타입)
    func pickerView(_ pickerView: UIPickerView, titleForRow row: Int, forComponent component: Int) -> String? {
        return String(numbersName[row]) + "단"
    }
     // 선택된 파일명을 레이블 및 이미지뷰에 출력 (didSelectRow : 선택했다) (뭐가 선택됐는지 얘가 알고있음)
    func pickerView(_ pickerView: UIPickerView, didSelectRow row: Int, inComponent component: Int) {
        lblImageFileName.text = String(numbersName[row]) + "단"
        tvResult.text = ""
        gugudan(firstNum: Int(row)+2)
    }
    
 }


PickerView를 통한 구구단 출력

반응형