这是显示文本的对话array.

import SwiftUI

var Dialogue: [String] = [
    “First line”,
    “Second line”,
    “Third line”
]

这是一个管理对话框设计的视图,称为"DialogueView".

@State var dialogue: String = Dialogue[0]
…
ZStack {
                    RoundedRectangle(cornerRadius: 20)
                        .frame(width: .infinity, 
                               height: 90)
                        .padding(.trailing, 10)
                        .opacity(0.8)
                    Text(dialogue)
                        .foregroundColor(.black)
                        .padding()
                        .font(.system(size: 20))
                }

这是显示对话的另一个视图.我添加onTapGesture是因为我希望用户点击屏幕并更改文本.

@State var DialogueIndex: Int = 0
…
VStack {
                DialogueView(dialogue: Dialogue[DialogueIndex])
                    .padding()
                Spacer()
                Text("- Tap to continue -")
                    .foregroundColor(.black)
                    .font(.system(size: 30))
                    .padding(.horizontal)
                    .background(
                        RoundedRectangle(cornerRadius: 10)
                            .opacity(0.7)
                    )
                    .onTapGesture {
                        DialogueIndex += 1
                    }
            }

它不起作用.有谁能指出错误吗?谢谢!!

推荐答案

你需要像这样换DialogueView元.

struct DialogueView: View {
    let dialogue: String      /// Here is the change
    var body: some View {
        ZStack {
            RoundedRectangle(c或nerRadius: 20)
                .frame(width: .infinity,
                       height: 90)
                .padding(.trailing, 10)
                .opacity(0.8)
            Text(dialogue)
                .f或egroundCol或(.black)
                .padding()
                .font(.system(size: 20))
        } 
    }
}

就像是用@State美元

@State var dialogue: String = Dialogue[0]

将其设置为等于数组的第一个元素,而不管传递的参数值是什么

你也可以做成这样

var dialogue: String = Dialogue[0]

var dialogue: String = ""

只需移除@state

Swift相关问答推荐

@ MainActor + Combine不一致的编译器错误

在解码字符串时需要帮助.

表视图插座单元测试失败

如何在visionOS中将模型锚定在用户头部上方?

在 Swift 中将异步任务包装到 DispatchWorkItem 中以使其可取消?

MainActor 隔离可变存储属性为何会出现可发送错误?

按钮图像不会立即刷新

SwiftUI - Select 器没有 Select 值

Reality Composer Tap Trigger 问题

使用 swift 运行 pod install 时出错

Swift 5.0 编译器无法导入使用 Swift 4.2.1 编译的模块

如何在界面生成器中创建 UILayoutGuide?

Swift 4 Decodable - 以枚举为键的字典

你如何在 UIBarItem 中使用 setTitleTextAttributes:forState?

Type 应该采用什么协议来让泛型函数将任何数字类型作为 Swift 中的参数?

如何在 SwiftUI Segmented Picker 中更改选定的段 colored颜色

显示 UIAlertController 的简单 App Delegate 方法(在 Swift 中)

如何将应用程序与 iOS 联系人应用程序集成?

iOS:如何检测用户是否订阅了自动更新订阅

NSLocationWhenInUseUsageDescription 警告,但我已经添加了