Модальное представление с использованием UIHostingController и SwiftUI - PullRequest
0 голосов
/ 29 февраля 2020

Я использовал UIHostingController для использования представления SwiftUI в ViewController. В этом представлении SwiftUI я использую две кнопки, которые должны отображать представление Modal SwiftUI при их нажатии. К сожалению, если я нажимаю кнопку, переменная состояния изменяется, но модальное представление не отображается.

Для кнопки я использовал следующий код:

Button(action: {
    self.showModal = true
    let impactLight = UIImpactFeedbackGenerator(style: .light)
    impactLight.impactOccurred()
    print("show: ", self.showModal)}) {
          Text("ZEIGE STRATEGIE")
               .foregroundColor(.black)
               .frame(width: 254, height: 37)
               .shadow(color: Color.white, radius: 8, x: -9, y: -9)
               .shadow(color: Color("neumorphismShadowBlack"), radius: 8, x: 9, y: 9)
               .padding(5)
               .background(Color("mainBackgroundColor"))
               .cornerRadius(20)
                }.sheet(isPresented: self.$showModal) {
                    StrategyView()}
                       .shadow(color: Color.white, radius: 8, x: -9, y: -9)
                       .shadow(color: Color("neumorphismShadowBlack"), radius: 8, x: 9, y: 9)

А для UIView я использовал следующий код:

  let swiftUIView = RecognitionView(detectedDices: detectedDices)
  let uiView = UIHostingController(rootView: swiftUIView)

  uiView.view.frame = feedbackView.frame
  uiView.view.center = CGPoint(x: feedbackView.frame.size.width / 2, 
  y:feedbackView.frame.size.height / 2)
  feedbackView.addSubview(uiView.view)

Если для showModal вначале установлено значение true, отображается модальное представление, но оно не работает, когда модальное представление должно быть видно, когда кнопка нажата.

Я ценю вашу помощь!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...