티스토리 뷰
💡 앱 설명 : 키와 몸무게를 입력하여 BMI를 계산해준다.
화면 구성

- Label, TextField, Button 사용
- Stack View로 Object 묶어서 배치
- Constraints로 Object 사이 간격 조정
- Tab Gesture Recognizer로 뷰의 다른 곳을 클릭 시 키보드가 사라지게 하는 설정
화면 기능
ViewController.swift
//
// ViewController.swift
// BMICalc
import UIKit
class ViewController: UIViewController {
@IBOutlet weak var HeightField: UITextField!
@IBOutlet weak var WeightField: UITextField!
@IBOutlet weak var BMIField: UITextField!
let numberFormatter:NumberFormatter = {
let nf = NumberFormatter()
nf.numberStyle = .decimal // nf.numberStyle = (NumberFormatter.Style).decimal 생략 가능
nf.minimumFractionDigits = 0
nf.maximumFractionDigits = 3
return nf
}()
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view.
}
@IBAction func BMICalculation(_ sender: Any) {
if let HeightText = HeightField.text, let height = Double(HeightText),
let WeightText = WeightField.text, let weight = Double(WeightText) {
let bmi = weight / ((height / 100) * (height / 100))
BMIField.text = "\(bmi)"
BMIField.text = numberFormatter.string(from: NSNumber(value: bmi))
}
view.endEditing(true) // 키보드 사라지게 하는 방법
}
@IBAction func textFieldFinishEdit(_ sender: UITextField) {
sender.resignFirstResponder()
}
@IBAction func textEndEditing(_ sender: Any) {
//WeightField.resignFirstResponder()
//HeightField.resignFirstResponder()
view.endEditing(true)
}
}
- 키보드의 return을 눌렀을 때 키보드가 사라지게 하는 방법
@IBAction func textFieldFinishEdit(_ sender: UITextField) {
sender.resignFirstResponder()
}
sender가 Any이면 resignFirstResponder() 자동완성이 안됨!
- 화면의 외곽을 터치했을 때 키보드가 사라지게 하는 방법
@IBAction func textEndEditing(_ sender: Any) {
view.endEditing(true)
}
'iOS' 카테고리의 다른 글
[Swift] 섭씨 화씨 온도 변환 앱 (0) | 2023.04.18 |
---|