[UIKIT] UIAlertController

BruniOS
4 min readJan 3, 2024

--

UIKit 에서 Alert을 띄우는 법을 알아보자.

 let alert = UIAlertController(title: "비밀번호 바꾸기", message: "비밀번호를 바꾸시겠습니까?", preferredStyle: .alert)

let success = UIAlertAction(title: "확인", style: .default) { action in
print("확인버튼이 눌렸습니다.")
}
let cancel = UIAlertAction(title: "취소", style: .cancel) { cancel in
print("취소버튼이 눌렸습니다.")
}

alert.addAction(success)
alert.addAction(cancel)

present(alert, animated: true) {
print("완료되었음")
} // 어떤화면에서 다음화면으로 넘어가는 동작임

Alert 의 코드이다.

let alert = UIAlertController(title: "비밀번호 바꾸기", message: "비밀번호를 바꾸시겠습니까?", preferredStyle: .actionSheet)

처음에 UIAlertController로 초기화를 해주고 변수안에 저장한다.

preferredStyle은

preferredStyle : .alert
preferredStyle : .actionSheet

이렇게 두가지 종류가 있다.

let success = UIAlertAction(title: "확인", style: .default) { action in
print("확인버튼이 눌렸습니다.")
}
let cancel = UIAlertAction(title: "취소", style: .cancel) { cancel in
print("취소버튼이 눌렸습니다.")
}

UIAlertController를 만들었다면, 다음은 어떤 Action을 넣을 건지 정해야한다. 이게 UIAlertAction이다.

UIAlertAction 에서 Style은 총 3가지 있다.

기본적인 actionsheet 나 alert에서 버튼 Action을 뜻하는것 같다
UIAlertAction(style: .default)
주로 해당하는 actionsheet 또는 alert을 안할 경우에 사용된다.
UIAlertAction(style: .cancel)
주로 데이터 삭제, 기능 삭제 등 중요한 일처리일때 사용된다.
UIAlertAction(style: .destructive)

끝난게 아니다.. alert, success, cancel 다 메모리상 위치한 것이지 결합은 하지 않은 상태이므로 결합을 해준다!

alert.addAction(success)
alert.addAction(cancel)

이런식으로 alert(UIAlertController)에 success,cancel 두 UIAlertAction을 더해준다.

이제 다 이어준 UIAlertController를 화면에 보여주는 상황만 남았다.

이는 present 함수가 그 역할을 한다.

present(alert, animated: true) {
print("완료되었음")
}

animation의 추가 여부에 따라 true,false를 취해주면

완성~

--

--