Xcode Playgrounds liveview not working, code from swift playgrounds

Viewed 132

I wanted to build a Playground which stores my notes for my next examination using either Xcode playgrounds or just Swift Playgrounds. However, I attempted to build a list with an arrow at the side for navigation in Playgrounds, but with the lack of information after searching lots of tutorials, there's no way I could create a navigation list on Swift Playgrounds. So I switched to Xcode playgrounds. But I could not seem to load the LiveView.

Note: no errors shown. Xcode playgrounds displays "Successful" but nothing is shown.

import SwiftUI
import PlaygroundSupport

//--------------------------------------------------------------//
// Weighted Asesstment III Notes

// Subject: Science
// Written in: English & SwiftUI

struct IntroView: View {
    // arrays cus I wanna put this to a list
    let expTech = ["Chromatography","Evaporation", "Distillation", "Dissolving","Magnetic Attraction", "Filtration"]
    
    let expUse = ["Chromatography",
                  "Method: Paper",
                  "Used for: ",
                  "Evaporation",
                  "Method: Heating",
                  "Used for: Separating salt & water",
                  "Distillation",
                  "Method: Heating of liquid mixture with different boiling points",
                  "eg. Used for: Obtaining pure water from alcohol",
                  "Dissolving",
                  "Method",
                  "Used for",
                  "Magnetic Attraction",
                  //I need complete silence lol
                  //Iron nickel cobalt steel
                  "Method: Magnets (I,N,C,S)",
                  "Used for: Separating magnetic objects from non magnets",
                  "Filtration",
                  "Method: Filtering/Use of filter paper",
                  "Used for: Separating mixture of insoluble solid from liquid"]
    
    var body: some View {
            // ZStack
            ZStack {
                // background color
                Color.white
                // VStack
                VStack {
                    LinearGradient(gradient: Gradient(colors: [.white, .gray, .black]), startPoint: .leading, endPoint: .trailing)
                        .mask(Text("WA 3 Sci Notes: M5C7")
                                .font(.system(size: 30, weight: .bold, design: .monospaced)))
                        .foregroundColor(Color.black)
                        .offset(x: 10, y: -325)
                        .padding()
                    Text("Types of experimental techniques")
                        .foregroundColor(Color.black)
                        .offset(x: -100, y: -710)
                        .font(.system(size: 25, weight: .semibold))
                }
                ZStack {
                    Rectangle()
                        .frame(width: 340, height: 240)
                        .cornerRadius(20)
                        .scaledToFill()
                        .shadow(color: Color.black, radius: 10)
                        .offset(x: -100, y: -120)
                        // list
                    List(expTech, id: \.self) { expTech in Text(expTech) }
                        .frame(width: 350, height: 250, alignment: .center)
                        .cornerRadius(25)
                        .offset(x: -100, y: -120)
                }
                
                    Text("Uses of Experimental Techniques")
                        .foregroundColor(Color.blue)
                        .offset(x: 80, y: 40)
                        .font(.system(size: 25, weight: .semibold))
                
                ZStack {
                    VStack {
                        Rectangle()
                            .frame(width: 600, height: 250)
                            .cornerRadius(20)
                            .scaledToFill()
                            .shadow(color: Color.black, radius: 5)
                            .offset(x: 5, y: 530)
                        
                        
                        }
                    }
                    
                }
            }
    }

PlaygroundPage.current.setLiveView(IntroView())
1 Answers

The issue could be that your View doesn't render properly. I put your code into an Xcode project (not a storyboard) and it looks like this:

enter image description here

You can even see it rendering weirdly in the playground:

enter image description here

Related