寫APP那件事#10.【健康護照】
Published in
8 min readAug 17, 2020
使用 IBOutlet,IBAction & 亂數創作有趣的 App
練習項目:
1.性別(男/女)控制view背景顏色
2.溫度slider顯示數字,根據數字變化顏色
3.根據問題判斷,人像顏色及狀態
4.ID為亂碼產生
5.NEW-新增一筆資料,更新畫面
6.DATE-右上角帶入年月日
import UIKitclass blueViewController: UIViewController {
@IBOutlet weak var timetext: UILabel!
@IBOutlet weak var nametext: UITextField!
@IBOutlet weak var tempertureState: UILabel!
@IBOutlet weak var healthState: UITextField!
@IBOutlet weak var idNumber: UITextField!
@IBOutlet weak var viewBackground: UIView!
@IBOutlet weak var photoFile: UIImageView!
@IBOutlet weak var tempertureDegree: UILabel!
@IBOutlet weak var sliderDegree: UISlider!
@IBOutlet weak var aboardOption: UISegmentedControl!
@IBOutlet weak var placeOption: UISegmentedControl!
@IBOutlet weak var travelOption: UISegmentedControl!
@IBOutlet weak var illnessOption: UISegmentedControl!override func viewDidLoad() {
super.viewDidLoad()
let today=Date()
let dateFormatter=DateFormatter()
dateFormatter.dateFormat="MM/dd/yyyy"
timetext.text!=dateFormatter.string(from: today)
// Do any additional setup after loading the view.
}//性別(男/女)控制view的背景顏色
@IBAction func countGender(_ sender: UISegmentedControl) {
let numberGender=sender.selectedSegmentIndex
switch numberGender {
case 0:
viewBackground.backgroundColor=UIColor.systemBlue
case 1:
viewBackground.backgroundColor=UIColor.systemRed
default:
viewBackground.backgroundColor=UIColor.white
}
}
//溫度顯示數字,呈現標語
@IBAction func changeDegree(_ sender: UISlider) {
let degree=sender.value
let showdegree=String(format:"%.1f",degree)
tempertureDegree.text!=showdegree
switch degree {
case 37.0...38.0:
tempertureDegree.textColor=UIColor.systemOrange
tempertureState.text!="注意體溫"
tempertureState.textColor=UIColor.systemOrange
case 38.0...39.0:
tempertureDegree.textColor=UIColor.systemRed
tempertureState.text!="體溫過高"
tempertureState.textColor=UIColor.systemRed
default:
tempertureDegree.textColor=UIColor.black
tempertureState.text!="體溫正常"
tempertureState.textColor=UIColor.black
}
}
//判斷:三個以上有(紅色),一個以上有(橘色) 全無(綠色)
//狀態:呈現對應文字及顏色
var sumaboard=Int()
var sumplace=Int()
var sumtravel=Int()
var sumillness=Int()
@IBAction func showOption(_ sender: UISegmentedControl) {
if sender==aboardOption{
sumaboard=sender.selectedSegmentIndex
} else if sender==placeOption{
sumplace=sender.selectedSegmentIndex
}
else if sender==travelOption{
sumtravel=sender.selectedSegmentIndex
}
else if sender==illnessOption{
sumillness=sender.selectedSegmentIndex
}
let sum=sumaboard+sumplace+sumtravel+sumillness
let imageview0=UIImageView(image: UIImage(named: "0"))
let imageview1=UIImageView(image: UIImage(named: "1"))
let imageview2=UIImageView(image: UIImage(named: "2"))
let imageview3=UIImageView(image: UIImage(named: "3"))
switch sum {
case 3,4:
photoFile.image=imageview3.image
healthState.text!="危險"
healthState.backgroundColor=UIColor.red
case 1,2:
photoFile.image=imageview2.image
healthState.text!="注意"
healthState.backgroundColor=UIColor.orange
case 0:
photoFile.image=imageview1.image
healthState.text!="安全"
healthState.backgroundColor=UIColor.green
default:
photoFile.image=imageview0.image
}
}
@IBAction func reNew(_ sender: UIButton) {
tempertureDegree.text!=String("37")
tempertureDegree.textColor=UIColor.black
sliderDegree.value=37
aboardOption.selectedSegmentIndex=0
placeOption.selectedSegmentIndex=0
travelOption.selectedSegmentIndex=0
illnessOption.selectedSegmentIndex=0
healthState.text!=""
healthState.backgroundColor=nil
viewBackground.backgroundColor=UIColor.white
let imageview0=UIImageView(image: UIImage(named: "0"))
photoFile.image=imageview0.image
idNumber.text!="NO."+Int.random(in: 0...1000).description
idNumber.backgroundColor=UIColor.white
nametext.text!=""
tempertureState.text!=""
}
}
參考1.日期寫法