카테고리 없음
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)
}
}
반응형