首页 > 解决方案 > iPad 上的 Swift Playgrounds 无法按预期使用 SwiftUI 代码

问题描述

附加的代码在 Mac 的 Playgrounds 模拟器上按预期工作,但当相同的代码在 iPad 上运行时,美国不会注册视图更新。有谁知道已知问题/修复/解决方法?

import SwiftUI
import PlaygroundSupport

struct MathGame: View
{
    @State var showAnswer = false
    @State var answer = ""
    @State var x = Int.random(in: 0...100)
    @State var y = Int.random(in: 0...100)
    var body: some View
    {
        VStack
        {
            Text(x.description)
            Text(y.description)
            if showAnswer
            {
                let z = x + y
                Text(z.description)
            } else
            {
                Text(" ")
            }

            
            Button("Next Question")
                {
                showAnswer = false
                x = Int.random(in: 0...100)
                y = Int.random(in: 0...100)
            }
            Spacer()
            Toggle(isOn: $showAnswer)
            {
                Text("Show Answer")
            } 
        }.padding().font(.system(size: 64))
    }
}

PlaygroundPage.current.setLiveView(MathGame())

标签: swiftuiswift-playground

解决方案


我遇到了同样的问题,我刚刚发现将“显示结果”设置为 false 正在修复它。

在此处输入图像描述

我的 iPad 在 iOS 14.6 上运行。我希望带有 iOS 15 的新 Swift Playground 肯定能解决这个问题。


推荐阅读