WooKoo Blog

물과 같이

개발/개발

[iOS] - Alert 알림창 띄우기 (Alert Style) - 1

WooKoo 2019. 8. 11. 15:40

Alert

iOS 개발을 많이 하다보면 알림창을 띄우는 경우가 많은데

UIKit에서 제공하는 알람창 쓰는 방법을 알아보도록 하겠습니다.

 

preferredStyle

UIKit 에서 Alert ActionSheet 이렇게 두가지가 있는데 이 포스트에서는 Alert 를 설명하겠습니다.

(사실 만들 때 스타일만 바꿔주면 됩니다. 알아서 해줍니다!)

 

actionSheet 는 여기서

https://lazyowl.tistory.com/40

 

[iOS] - Alert에 이은 ActionSheet

2019/08/11 - [iOS/개발] - Swift Alert 알림창 띄우기!! Swift Alert 알림창 띄우기!! 오늘은 알람창을 띄울 일이 생겨서 한번 정리해보겠다. Swift에서는 Alert와 ActionSheet ? 이렇게 두가지가 있는데 이번엔 그

lazyowl.tistory.com


UIAlertController 를 만들어보자! (큰 흐름)

1. 알람 객체 선언 및 초기화

2. 알람 액션 만들기

3. 알람 객체에 액션 추가 

4. 화면에 표현

 

자 ~ 그럼 순서대로 만들어봅시다.

 

 

1. 알람 객체 선언 및 초기화

        let alert = UIAlertController(title: "타이틀", message: "메세지", preferredStyle: .alert)

이런식으로 알람 인스턴스를 만들어 줍니다.

(title 이나 message 가 불필요한 경우 "" 또는 nil 을 입력해주면 됩니다.)

 

 

2. 알람 액션 만들기

    let okAction = UIAlertAction(title: "확인", style: .default) { _ in
        print("수행 할 동작")
      }

 

버튼을 만들어줍니다.

만약 버튼을 눌렀을 때 해야할 조치가 있다면 저 사이에 넣어주면 되겠죠??

 

style 은 default 로 설정했는데 무슨 타입들이 있을까요?

 

 

cancel, default, destructive 가 있네요.

 

default 는 일반적으로 사용하시면 됩니다.

cancel 은 취소!

 

destructive 는

Apply a style that indicates the action might change or delete data.

데이터를 지우거나 액션 스타일을 지우는? 그런 역할인가봐요

 

 

3. 알람 객체에 액션 추가 

 

alert.addAction(okAction)

만든 알람 인스턴스에 액션을  추가해주고

 

마지막으로!!!

 

4. 화면에 표현

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

화면에 띄워주면??

 

 

 

정말 간단하죠?

 

전체 코드

class ViewController: UIViewController {
  override func viewDidAppear(_ animated: Bool) {
    super.viewDidAppear(animated)
    // 1. 알람 인스턴스 생성
    let alert = UIAlertController(title: "타이틀", message: "메세지", preferredStyle: .alert)

    // 2. 액션 생성
    let okAction = UIAlertAction(title: "확인", style: .default) { _ in
      print("수행 할 동작")
    }

    // 3. 알람에 액션 추가
    alert.addAction(okAction)

    // 4. 화면에 표현
    present(alert, animated: true)
  }
}