얼럿은 말그대로, 하나의 경보를 띄우는 것이다.
주의를 주거나, 에러핸들링 메세지를 띄우거나, 한 번 더 처리에 대한 확인을 요구할 때 쓰이기도 한다.
직접 짠 코드를 보자.
let alertController = UIAlertController(title: "Title", message: "Message", preferredStyle: .alert)
//style은 .alert, .actionsheet가 있음
먼저 내가 띄우고 싶은 얼럿을 present하기위해서는 컨트롤러 선언이 필요하다.
여기서 원하는 title과, sub message를 자신이 원하는 글로 작성하면 된다.
preferredStyle은 얼럿의 종류다.
직접 해보면 알겠지만,
.alert은 중간에 뙇 정말 경고처럼 나오는 스타일이고,
.actionsheet는 아래에서 주루룩 나오는 스타일이다.
자신이 원하는 스타일로 결정하면 될 것 같다.
나는 일단 .alert으로 띄웠고
확인과 취소버튼만 누를 수 있게 할 예정이다.
let okAction = UIAlertAction(title: "OK", style: UIAlertAction.Style.default) {
(action : UIAlertAction) in
print("OK pressed")
}
let cancelAction = UIAlertAction(title: "Cancel", style: UIAlertAction.Style.cancel, handler: nil)
ok버튼과 cancel버튼은 UIAlertAction이라는 클래스를 사용한다.
이는 우리가 만든 얼럿 컨트롤러에 넣는 액션을 의미한다.
title은 버튼을 누를 때, 원하는 말을 써넣으면 된다.
style은 보통 취소버튼은 얼럿 컨트롤러를 띄우고 다시 없애는 용도로 UIAlertAction.Style.cancel로 정한다.
여기서 핸들러는 각 버튼을 눌렀을 때, 실행되는 부분이다.
만약에 내가 ok버튼을 누르고 다른 컨트롤러로 이동하고 싶다고 하면,
내가 작성해논 print("OK pressed") 부분에 코드를 짜면 된다.
alertController.addAction(okAction)
alertController.addAction(cancelAction)
self.present(alertController, animated: true) {
print("Alert controller shown")
}
우리가 만든 액션을 이제 컨트롤러에 담기만 하고, 그 컨트롤러를 present하면 끝.
참 쉽죠!?
alertController.addTextField { (field: UITextField) in
field.placeholder = "플레이스홀더"
field.textColor = .red
}
이렇게 텍스트필드도 컨트롤러 안에 넣을 수 있다. 필요하면 사용해도 될듯!
(텍스트필드나 텍스트 색 수정 등도 가능하다~!)