본문 바로가기
ios 뽀개기/ios앱

9 alert 경고창 띄우기

by 인생여희 2017. 11. 22.
반응형

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

댓글