Как установить цвет фона UIHostingController на «очистить»?

#ios #swift #swiftui #uihostingcontroller #zstack

#iOS #swift #swiftui #uihostingcontroller #zstack

Вопрос:

Мне нужно иметь возможность просматривать мои представления SwiftUI, а также контроллер UIHosting, представляющий их, чтобы видеть фоновое изображение под ними. Приведенный ниже код по-прежнему показывает белый прямоугольник в моем представлении SwiftUI. Пол Хадсон говорит использовать edgesIgnoringSafeArea, но я не могу использовать это, поскольку мой SwiftUIView встроен в более крупную схему пользовательского интерфейса. Есть ли какой-либо способ сделать этот белый прямоугольник, который я вижу, четким?

     var body: some View {
          ZStack {
            VStack {
                 //omitted
              }
        }.background(Color.clear)
   }
  

Ответ №1:

Если вы используете UIHostingController , вам также необходимо установить для backgroundColor свойства его view значение .clear .

 yourHostingController.view.backgroundColor = .clear
  

Комментарии:

1. Обратите внимание, что вызов push view должен быть выполнен с помощью: view.modalPresentationStyle = .OverFullScreen // для поддержки прозрачности v.window? .RootViewController? .присутствует(вид, анимированный: true)