Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
Tags
- 러브자그레브
- xcode
- 라이브러리
- 스플리트
- 아시아나
- 러브스플리트
- 공기먹는다이버스
- 시밀란
- 스페인여행
- swiftUI
- 그라나다
- SwiftUI #Skeleton #데이터갱신
- 지팍스페인
- 푸켓여행
- cocoapod
- Device 등록
- Swift #Concurrency #쓰레드
- 스페인광장
- 크로아티아
- Cocoapods #PrivateRepo #SpecRepo
- 리브어보드
- Gradle
- 연금저축펀드
- 대한항공
- Concurrency #Swift #Combine
- 강릉
- 세비야
- 도심공항
- 괌 자유여행
- 스쿠버다이빙
Archives
- Today
- Total
JEP's Diary
SwiftUI 투명 fullScreenCover 본문
FullScreenCover를 이용해서 Custom Alert를 만들기 위해 배경을 투명 처리되도록 해야했다.
먼저 View를 extension 한다
// 투명 fullScreenCover
extension View {
func transparentFullScreenCover<Content: View>(isPresented: Binding<Bool>, content: @escaping () -> Content) -> some View {
fullScreenCover(isPresented: isPresented) {
ZStack {
content()
}
.background(TransparentBackground())
}
}
}
struct TransparentBackground: UIViewRepresentable {
func makeUIView(context: Context) -> UIView {
let view = UIView()
DispatchQueue.main.async {
view.superview?.superview?.backgroundColor = .clear
}
return view
}
func updateUIView(_ uiView: UIView, context: Context) {}
}
그리고 뷰 작성 코드에서 아래와 같이 사용한다.
VStack {
...
}
.transparentFullScreenCover(isPresented: $isShowingScanner) {
CommonAlert(
showAlert: .constant(true),
titleStringKey: "COMMON_OK",
messageStringKey: "COMMON_OK",
rightButtonStringKey: "COMMON_OK",
leftButtonStringKey: "COMMON_CANCEL"
)
}
참고.
https://stackoverflow.com/questions/64301041/swiftui-translucent-background-for-fullscreencover
'Development > iOS' 카테고리의 다른 글
Combine (0) | 2022.10.27 |
---|---|
SwiftUI Custom Alert (0) | 2022.08.04 |
Xcode CocoaPods 설치 및 사용법(Swift) (0) | 2016.05.23 |
Xcode AppStore에 앱 배포하기 (0) | 2016.03.31 |
Xcode SideMenu 구성하기(MFSideMenu) (0) | 2016.03.30 |