SwiftUI: передать строку для просмотра при нажатии кнопки - PullRequest
1 голос
/ 15 марта 2020

Я хочу передать строку нажатием кнопки в SwiftUI из ContentView в SoundPageView. Каждая отдельная кнопка должна передавать разные строки. Это приложение для изучения языка Engli sh, поэтому я хочу передать категорию грамматики.

Например.

                NavigationLink(destination: SoundPageView()) {
                    Text("Should")
                }
                .buttonStyle(GrammarButton())
                NavigationLink(destination: SoundPageView()) {
                    Text("Articles)
                }
                .buttonStyle(GrammarButton())
                NavigationLink(destination: SoundPageView()) {
                    Text("First Conditional")
                }
                .buttonStyle(GrammarButton())

My SoundPageView - это представление с множеством кнопок, которые воспроизводят звуки.

struct SoundPageView: View {

    var body: some View {
        NavigationView {
                HStack(spacing:0) {
                    VStack {
                        Button(action: {
                            playSound(sound: "art_audio1", type: "mp3")
                        }) {
                            Text("Button 1")
                        }

Я хочу передать строку категории, такую ​​как «must», «art» или «first», в SoundPageView, чтобы для кнопок загружались разные звуки.

Я также хочу использовать строку категории для изменения имен файлов аудио, но я не уверен, как это сделать. Что-то вроде ...

playSound (звук: \ category + "_audio1", тип: "mp3")

Я новичок в SwiftUI и начинающий программист. Заранее спасибо.

1 Ответ

0 голосов
/ 15 марта 2020

Это может быть как следующие

NavigationLink(destination: SoundPageView(category: "should")) {
    Text("Should")
}
.buttonStyle(GrammarButton())
NavigationLink(destination: SoundPageView(category: "art")) {
    Text("Articles)
}
.buttonStyle(GrammarButton())
NavigationLink(destination: SoundPageView(category: "first")) {
    Text("First Conditional")
}
.buttonStyle(GrammarButton())

и

struct SoundPageView: View {
    var category: String

    var body: some View {
        NavigationView {
                HStack(spacing:0) {
                    VStack {
                        Button(action: {
                            playSound(sound: "\(self.category)_audio1", type: "mp3")
                        }) {
                            Text("Button 1")
                        }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...