[iOS] UIAlertController 사용해서 경고창 표시하기
순서
- Alert 제목, 메세지 만들기
- Alert에 들어갈 버튼 만들기
- Alert에 버튼 추가하기
- 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은 프레젠테이션이 완료된 후 실행할 것들을 입력하면 된다.