Как сделать так, чтобы представление поповера отображалось на iPhone так же, как на iPad с SwiftUI? - PullRequest
0 голосов
/ 04 ноября 2019

enter image description here Я создаю приложение, используя SwiftUI, и хотел создать небольшой поповер с небольшим абзацем и, возможно, кнопкой. Я пробовал несколько вещей, но не могу понять, как сделать так, чтобы он отображался как поповер, как на iPad, а не как модально.

Ответы [ 2 ]

0 голосов
/ 04 ноября 2019

SwiftUI пока не содержит аналога UIModalPresentationStyle. Поэтому вам нужно использовать пользовательский UIViewRepresentable, чтобы использовать функцию UIKit, чтобы получить то, что вы просили.

0 голосов
/ 04 ноября 2019

К сожалению. Непонятый вопрос. Следующий ответ не является правильным: Если вы хотите открыть модальное окно, вам нужно что-то вроде этого:

import SwiftUI

struct test: View {

    @State private var show_modal_window: Bool = false

    var body: some View {

        VStack {
            Spacer()
            Button(action: {
                self.show_modal_window = true
            }) {
                Text("Show modal")
                    .font(.largeTitle)
                    .foregroundColor(Color.white)
            }.sheet(isPresented: self.$show_modal_window) {
                ModalView()
            }
            .padding()
            .background(Color.blue)
        }
    }
}

struct test_Previews: PreviewProvider {
    static var previews: some View {
        test()
    }
}

И вам нужно создать другой Swift View в виде отдельного файла. В моем примере это называется «ModalView»

...