ios alert창 띄워서 조건문 실행하기
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 | /* 켜기 버튼을 누르면 전구가 켜지고, 켜져있으면 경고메시지 끄기 버튼을 누르면 선택창뜨게하기, 이미 껴져있으면 아무런 작동x 제거 버튼을 누르면 메시지 창 띄워서 선택하게하기 */ import UIKit class ViewController: UIViewController { //필요한 변수 및 상수 선언 //앱이 종료될 때까지 변하지 않기 때문에 상수로 처리 했다 let imgOn : UIImage = UIImage(named: "on.jpg")! let imgOff : UIImage = UIImage(named: "off.jpg")! let imgRemove : UIImage = UIImage(named: "remove.jpg")! var isLampOn = true //이미지 뷰 아웃렛 변수 @IBOutlet weak var lampImg: UIImageView! override func viewDidLoad() { super.viewDidLoad() //첫화면에 전구가 켜진 모습 보여주기 lampImg.image = imgOn } override func didReceiveMemoryWarning() { super.didReceiveMemoryWarning() // Dispose of any resources that can be recreated. } //전구 켜기 버튼 @IBAction func btnLampOn(_ sender: UIButton) { if(isLampOn == true) { //전구가 켜져있을 때, 전구가 켜져있다고 alert를 실행함 let lampOnAlert = UIAlertController(title: "경고", message: "현재 켜진상태입니다.", preferredStyle: UIAlertControllerStyle.alert) let onAction = UIAlertAction(title:"네, 알겠습니다.", style: UIAlertActionStyle.default, handler:nil) lampOnAlert.addAction(onAction) present(lampOnAlert, animated: true, completion: nil) }else{ //전구가 켜져있지 않을때, 전구를 켬 lampImg.image = imgOn isLampOn = true } } //전구끄기 버튼 @IBAction func btnLampOff(_ sender: UIButton) { if(isLampOn) { //uialertcontroller를 생성한다. let lampOffAlert = UIAlertController(title: "램프끄기", message: "램프를 끄시겠습니까?", preferredStyle: UIAlertControllerStyle.alert) //uialertaction을 생성한다. 전등을 꺼야하므로 핸들러에 중괄호, 를 넣어서 추가적으로 작업을 한다. //self를 붙여야 에러가 발생하지 않는다. let offAction = UIAlertAction(title:"네", style: UIAlertActionStyle.default, handler: { ACTION in self.lampImg.image = self.imgOff self.isLampOn = false }) let cancelAction = UIAlertAction(title:"아니오", style: UIAlertActionStyle.default, handler: nil) //생성된 offaction, cancelaction을 얼럿에 추가한다. lampOffAlert.addAction(offAction) lampOffAlert.addAction(cancelAction) //메서드 실행 present(lampOffAlert, animated: true, completion: nil) } } //전구삭제 버튼 @IBAction func btnLampRemove(_ sender: UIButton) { let lampRemoveAlert = UIAlertController(title: "램프제거", message: "램프를 제거하시겠습니까?", preferredStyle: UIAlertControllerStyle.alert) //램프 끄기 let offAction = UIAlertAction(title: "아니오 끌래요", style: UIAlertActionStyle.default, handler: { ACTION in self.lampImg.image = self.imgOff self.isLampOn = false }) //램프 켜기 let onAction = UIAlertAction(title: "아니오 켜겠습니다,", style: UIAlertActionStyle.default, handler: { ACTION in self.lampImg.image = self.imgOn self.isLampOn = true }) //램프 제거 let RemoveAction = UIAlertAction(title:"네, 제거 합니다.", style: UIAlertActionStyle.destructive, handler:{ action in self.lampImg.image = self.imgRemove self.isLampOn = false }) lampRemoveAlert.addAction(offAction) lampRemoveAlert.addAction(onAction) lampRemoveAlert.addAction(RemoveAction) present(lampRemoveAlert, animated: true, completion: nil) } } | cs |
위에 내용 한번더 정리
//
// ViewController.swift
// Alert2
//
// Created by MacBookPro on 2017. 12. 13..
// Copyright © 2017년 MacBookPro. All rights reserved.
//
import UIKit
class ViewController: UIViewController {
@IBOutlet weak var imageView: UIImageView!
var isLampOn:Bool = true
let imgOn:UIImage = UIImage(named:"on.jpg")!
let imgOff:UIImage = UIImage(named:"off.jpg")!
let imgRemove:UIImage = UIImage(named:"ccc.jpg")!
override func viewDidLoad() {
super.viewDidLoad()
imageView.image = UIImage(named:"on.jpg")
}
//켜기
@IBAction func btnOn(_ sender: UIButton) {
//전구가 켜져있을때
if isLampOn == true {
let lampOnAlert = UIAlertController(title:"알림", message: "현재 켜진상태에요", preferredStyle:UIAlertControllerStyle.alert)
let onAction = UIAlertAction(title:"네...", style: UIAlertActionStyle.default, handler:nil)
lampOnAlert.addAction(onAction)
present(lampOnAlert, animated: true, completion: nil)
}else{
imageView.image = UIImage(named:"on.jpg")
isLampOn = true
}
}
//끄기
@IBAction func btnOff(_ sender: UIButton) {
//전구가 켜져있다면
if isLampOn {
let lampOffAlert = UIAlertController(title:"램프끄기", message: "램프를 끄시겠나요?", preferredStyle:UIAlertControllerStyle.alert)
let offAction = UIAlertAction(title: "네", style: UIAlertActionStyle.default, handler: {
ACTION in self.imageView.image = self.imgOff
self.isLampOn = false
})
let cancelAction = UIAlertAction(title:"아뇨", style: UIAlertActionStyle.default, handler: nil)
lampOffAlert.addAction(offAction)
lampOffAlert.addAction(cancelAction)
present(lampOffAlert, animated: true, completion: nil)
}
}
//제거
@IBAction func btnRemove(_ sender: UIButton) {
let lampRemoveAlert = UIAlertController(title:"램프제거", message: "램프를 제거하시겠어요?", preferredStyle:UIAlertControllerStyle.alert)
let offAction = UIAlertAction(title: "아니오,끌래요", style: UIAlertActionStyle.default, handler:{
ACTION in self.imageView.image = self.imgOff
self.isLampOn = false
})
let onAction = UIAlertAction(title:"아니오 켜겠슴다", style: UIAlertActionStyle.default, handler:{
ACTION in self.imageView.image = self.imgOn
self.isLampOn = true
})
let removeAction = UIAlertAction(title:"네, 제거합니다.", style:UIAlertActionStyle.default, handler:{
ACTION in self.imageView.image = self.imgRemove
self.isLampOn = false
})
lampRemoveAlert.addAction(offAction)
lampRemoveAlert.addAction(onAction)
lampRemoveAlert.addAction(removeAction)
present(lampRemoveAlert, animated: true, completion: nil)
}
}
'ios 뽀개기 > ios앱' 카테고리의 다른 글
11 mapview (0) | 2017.11.22 |
---|---|
10 웹뷰 webview (0) | 2017.11.22 |
8 picker view 응용 (0) | 2017.11.21 |
7 picker view (0) | 2017.11.21 |
6 데이터 피커 날짜함수 (0) | 2017.11.21 |
댓글