Как модально нажать следующий экран, чтобы быть полным в SwiftUI - PullRequest
1 голос
/ 21 июня 2019

как я могу перейти к следующему представлению SwiftUI, но представить его на весь экран без использования функции, такой как модальное представление Xcode 10.

Моя текущая реализация, но она не выдвигается на весь экран (перетаскивание включено и пробел вверху):

btn
.presentation(
      !showModal.value ?
           nil :
           Popover(content: destination, dismissHandler: onTrigger ?? {})
)

1 Ответ

0 голосов
/ 22 июня 2019

Я думаю, что единственный способ сделать это на данный момент - использовать overlay() или ZStack. Я не могу заставить работать переход при использовании overlay(), но могу при использовании ZStack

Просто убедитесь, что ваш модальный вид заполняет экран чем-то вроде List или с помощью Spacer(), иначе вы все равно увидите другой вид позади него

struct ContentView: View {

    @State var showModal: Bool = false;

    let transition = AnyTransition.move(edge: .bottom);

    var body: some View {
        ZStack {
            VStack {
                Button(action: {
                    withAnimation {
                        self.showModal = true;
                    }
                }) {
                    Text("Show Modal");
                }
            }

            if (self.showModal == true) {
                ModalView()
                    .background(Color.white)
                    .transition(transition);
            }
        }
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...