问题描述
这是我的ContentView代码:
import SwiftUI
struct GridStack<Content: View>: View {
let rows: Int
let columns: Int
let content: (Character) -> Content
var body: some View {
VStack {
ForEach(1 ..< rows,id: \.self) { row in
HStack {
ForEach(1 ..< self.columns,id: \.self) { column in
self.content("C").padding().border(Color.black)
}
}
}
}
}
init(rows: Int,columns: Int,@ViewBuilder content: @escaping (Character) -> Content) {
self.rows = rows
self.columns = columns
self.content = content
}
}
这是SceneDelegate.swift的代码段
class SceneDelegate: UIResponder,UIWindowSceneDelegate {
var window: UIWindow?
let theSheet = ["A","M","A","N"]
func scene(_ scene: UIScene,willConnectTo session: UISceneSession,options connectionOptions: UIScene.ConnectionOptions) {
let contentView = GridStack(rows: Int(11),columns: Int(11),content: { _ in Text("\theSheet[3]")})
if let windowScene = scene as? UIWindowScene {
let window = UIWindow(windowScene: windowScene)
window.rootViewController = UIHostingController(rootView: contentView)
self.window = window
window.makeKeyAndVisible()
}
}
请特别注意以下一行:
let contentView = GridStack(rows: Int(11),content: { _ in Text(theSheet[3])})
您可以看到我已经为数组theSheet的索引硬编码了值3。我想做的是使用公式行+列中的当前“行”和“列”值动态计算索引。
我请这里的专家提供帮助!我在线上提供您需要的更多详细信息。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)