[iOS] UIAlertController 사용해서 경고창 표시하기

순서

  1. Alert 제목, 메세지 만들기
  2. Alert에 들어갈 버튼 만들기
  3. Alert에 버튼 추가하기
  4. Alert 표시하기 *** UIAlertController 클래스로 경고창을 표시하는 스타일은 2가지가 있는데
    첫번째는 alert


    가운데에 표시되는 방식이고

    두번째는 actionSheet


    밑에서 모달이 올라오는 방식이다.

이 글에서는 alert 방식을 다뤄보자.

1. Alert 제목, 메세지 만들기

 let controller = UIAlertController(title: String?, message: String?, preferredStyle: UIAlertController.Style)

UIAlertController 클래스로 타이틀, 메세지, 스타일(alert 또는 actionSheet)를 설정한다.
타이틀하고 메세지는 옵셔널 스트링이라고 nil을 주면 alert에 아무것도 표지되지 않아 사용자에게 혼란을 줄 수 있으니, 적어도 한개는 설정을 하면 좋다.
그리고 버튼을 추가하지 않고 controller만 보여주게 되면 모달창을 닫을 수 없다는 점도 주의해야한다.

2. Alert에 들어갈 버튼 만들기

 let ok = UIAlertAction(title: "Ok", style: .default) { action in
            print("Ok action")
        }

타이틀에 원하는 텍스트를 넣고, 스타일에는 3가지가 있다. default, cancel, destructive

  • default: 말 그대로 기본 값
  • cancel: default스타일보다 글씨체가 더 굵다
  • destructive: 버튼이 빨간색으로 표시된다.


그리고 마지막에 클로져가 있는데 클로져 안에는 버튼을 눌렀을 때(UIAlertAction이 호출된다) 할 행동을 입력하면 된다.

3. Alert에 버튼 추가하기

 controller.addAction(ok)


4. Alert 표시하기

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


마지막으로 모든걸 준비하고 present로 보여주면 된다. 첫번째 파라미터는 UIAlertController가 필요하고 3번째 completion은 프레젠테이션이 완료된 후 실행할 것들을 입력하면 된다.

Tags: ,

Categories:

Updated: