必要なもの
SwiftUI-Introspectが必要になります。 SPMでインストールしてください。
実装方法
UINavigationControllerを拡張
UINavigationController+.swift
import UIKit
extension UINavigationController {
func clearBackgroundColor() {
topViewController?.view.backgroundColor = .clear
topViewController?.parent?.view.backgroundColor = .clear
topViewController?.parent?.parent?.view.backgroundColor = .clear
}
}
遷移元画面
UINavigationControllerの背景色を透明にします。
Hoge.swift
var body: some View {
NavigationView {
ZStack {
}
}
.introspectNavigationController { navigationController in
navigationController.clearBackgroundColor()
}
}
遷移先画面
遷移先のViewControllerの背景色を透明にします。
Fuga.swift
var body: some View {
ZStack {
}
.introspectViewController { viewController in
viewController.view.backgroundColor = .clear
}
}