iOS 개발자/Xcode 기능 정리

Xcode 기능 - 경고창 띄우는 방법 / show alert view

FDEE 2021. 2. 5. 16:32

이번에는 경고창을 띄우는 방법에 대해 알아볼께요

 

 

살짝 헷갈릴 수 있는 내용이지만 차근차근 이해하면 별거 아니랍니다!

 

1) ViewController

먼저 버튼을 ViewController에 연결이 되어있어야 합니다 (생략)

그러면 버튼을 눌렀을때 경고창을 띄워보도록 할께요

 

2) 경고창 띄우기 - 확인

 

 

첫번째로 경고 내용을 보여주며 확인버튼으로 사라지게 하는 방법입니다

 

< 경고창 띄우기 - 확인버튼 >

//1. 경고창 내용 만들기
let alert = UIAlertController(title:"로그아웃 하시겠습니까?", 
    message: "취소버튼을 눌러주시기 바랍니다", 
    preferredStyle: UIAlertController.Style.alert)
//2. 확인 버튼 만들기
let cancle = UIAlertAction(title: "취소", style: .default, handler: nil)
//3. 확인 버튼을 경고창에 추가하기
alert.addAction(cancle)
//4. 경고창 보이기
present(alert,animated: true,completion: nil)

위 코드를 통해 경고창을 띄울 수 있답니다.

조금 복잡해 보이지만 하나하나 간단하게 알려드릴께요

 

let alert = UIAlertController(title:"로그아웃 하시겠습니까?", 
    message: "취소버튼을 눌러주시기 바랍니다", 
    preferredStyle: UIAlertController.Style.alert)

여기서 title 값이 바로 경고문구 입니다. 경고문구에서 찐한 글씨체로 보이게 됩니다

다음으로 message 값은 부연설명내용 입니다. 예제영상처럼 필요없으신 경우엔 "" 로 작성하시면 됩니다!

 

let cancle = UIAlertAction(title: "취소", style: .default, handler: nil)

여기서 cancle이란 이름으로 취소 버튼을 만들었습니다.

handler를 통해 특정 동작이 수행되는데 지금의 경우 동작이 필요없기 때문에 nil 값을 넣어주시면 됩니다!

 

alert.addAction(cancle)

위에서 만든 취소버튼을 경고창에 추가합니다

 

present(alert,animated: true,completion: nil)

마지막으로 경고창을 보여준다는 뜻입니다!

 

이러한 코드를 통해 손쉽게 경고창을 띄울 수 있습니다

 

2) 경고창 띄우기 - 취소, 확인

 

 

이번에는 버튼에 따라 동작여부를 선택할 수 있는 경고창에 대해 알아볼께요

위에서 배운 경고창에 몇가지 코드만 추가하시면 됩니다!

 

<경고창 띄우기 - 확인, 취소 >

let alert = UIAlertController(title:"로그아웃 하시겠습니까?",message: "",preferredStyle: UIAlertController.Style.alert)
let cancle = UIAlertAction(title: "취소", style: .default, handler: nil)
//확인 버튼 만들기
let ok = UIAlertAction(title: "확인", style: .destructive, handler: {
    action in
    //특정기능 수행
})
alert.addAction(cancle)
//확인 버튼 경고창에 추가하기
alert.addAction(ok)
present(alert,animated: true,completion: nil)

위 코드에서 크게 두가지가 추가되었습니다 간단하게 알려드릴께요

 

let ok = UIAlertAction(title: "확인", style: .destructive, handler: {
    action in
    //특정기능 수행
})

위에서 본 cancle 버튼과의 차이점은 바로 style 값과 handler 값 입니다

style 값은 버튼의 색이라 생각하시면 됩니다. 사진에서 보이듯이 파란색, 또는 빨간색으로 경고여부를 색으로 구별을 넣을 수 있습니다

여기서 .destructive 값을 넣으면 빨간색 글자로 버튼이 만들어집니다!

handler 값은 버튼을 눌렀을 때 실행되는 동작입니다. cancle 버튼의 경우 nil로 지정되었기 때문에 버튼을 누르면 동작이 없지만

ok 버튼을 눌렀을 경우 예시처럼 로그아웃을 해야하는 동작이 필요하다 할때 이곳에 {} 중괄호를 넣어 action in 이후에 코드를 넣으시면 됩니다!

 

alert.addAction(ok)

이건 아시겠죠? ok 버튼을 추가한다는 의미입니다

 

이렇게 간단하게 경고창을 만들 수 있답니다