안녕하세요. iOSangBong입니다.
오늘은 SwiftUI에서 사용가능한 커스텀 얼럿을 만들어보겠습니다.
프로젝트를 진행하다보면
기본 Apple에서 사용하는 얼럿을 사용하지 못하는 경우가 있는데요.
그럴때 유용하게 사용할 얼럿을 만들어보겠습니다.

1. 얼럿에서 사용할 버튼 만들기

일단 버튼은 확인버튼 취소버튼을 만들어주는데요.
enum으로 타입을 만들어줬습니다.

그 다음 BongAlertButtonView를 만들었습니다.
기존 SwiftUI에서 사용한 isPresent를 바인딩한 다음
타입에 따라 버튼 텍스트와 색을 지정해주고 액션을 전달해줬습니다.
2. 본격적으로 얼럿 만들기

얼럿에서 필요한 타이틀과 내용을 넣어주고
확인 취소 버튼도 넣어줍니다.

그 다음에 얼럿이 나타나는 화면을 만들어 줍니다.
여기서 ClearBackground는 이전에 포스팅한 배경을 투명하게 만들것을 활용했습니다.
2023.07.15 - [SwiftUI/3. 잡기술] - [iOS][SwiftUI] Modal, fullScreenCover 배경 투명하게 만들기
[iOS][SwiftUI] Modal, fullScreenCover 배경 투명하게 만들기
안녕하세요. iOSangBong입니다. 오늘은 모달이나 fullScreenCover를 사용했을때 배경을 투명하게 만들어보겠습니다. 지난 시간엔 fullScreenCover에서 애니메이션을 없애보았는데 사용했던 프로젝트를 가
iosangbong.tistory.com
3. ViewModifier 로 감싸주기

다음으로 만든 얼럿View를 아래와 같이 만들어주기 위해서는
ViewModifier로 감싸줘야됩니다.

이런식으로 BongAlertView를 가져온다음
isPresent를 바인딩해서 fullScreenCover로 띄워줍니다.
그리고 이전에 포스팅한 모달 애니메이션 없애는 방법을 사용해줍니다.
2023.07.13 - [SwiftUI/3. 잡기술] - [iOS][SwiftUI] Modal, fullScreenCover 애니메이션 없애기
[iOS][SwiftUI] Modal, fullScreenCover 애니메이션 없애기
안녕하세요. iOSangBong입니다. 오늘은 SwiftUI에서 Modal 애니메이션을 간단하게 없애보겠습니다. 일단 SwiftUI에서 간단하게 Modal을 띄웠습니다. 실행을 하게 되면 아래와 같이 실행이 되죠. 여기서 모
iosangbong.tistory.com
4. View Extension

그 다음 View를 확장하여 modifier를 만들어주면?

이렇게 나오게 됩니다.
5. 사용
이제 사용을 해보겠습니다.

기존에 QR코드를 만들때 사용했던 클래스를 다시 사용했습니다.
이렇게 코드를 만들고 실행을 시켜보면?

이와 같이 나오게 됩니다. 이러면 정상적으로 작동이 되는게 보입니다..
이걸 활용해서 무궁무진하게 커스텀하게 만들 수 있습니다.
프로젝트에 잘 활용해 보세요~!
참고는 깃허브를 참고해주세요~
https://github.com/bongbong9708/BongStorage
GitHub - bongbong9708/BongStorage
Contribute to bongbong9708/BongStorage development by creating an account on GitHub.
github.com
다들 즐코딩하세요. 그럼 이만~
'SwiftUI > 3. 커스텀 UI' 카테고리의 다른 글
[iOS][SwiftUI] ScrollView ForEach에서 SwipeAction 사용하기 (0) | 2023.10.11 |
---|---|
[iOS][SwiftUI] Custom SideMenu 간단하게 만들기 (0) | 2023.08.10 |
[iOS][SwiftUI] Custom 하단시트 간단하게 만들기 (0) | 2023.08.03 |