2017-03-25 7 views
8

In meinem Swift Spielplatz funktioniert, trat ich in den folgenden Code der Live-View-Funktion zu testen:Xcode 8 Spielplatz Live-Ansicht nicht

let view = UIView() 

PlaygroundPage.current.liveView = view 

Aber aus irgendeinem Grund die Live-Ansicht nicht auf der rechten Seite nicht angezeigt im Assistenten-Editor. Anfangs dachte ich, dass Xcode den Spielplatz nicht fertiggestellt hat. Aber ich habe gewartet und gewartet, und es zeigt immer noch nicht.

Screenshot: enter image description here

Jede Hilfe?

Antwort

17

Ich hatte das gleiche genaue Problem. Ich habe eine vorläufige Lösung gefunden.

Was mir aufgefallen ist, dass wenn ich mehr als ein Xcode-Projekt geöffnet habe, würde es diesen Fehler verursachen. Also: Beenden Sie einfach xcode (Befehl Q) und öffnen Sie nur den Live-Spielplatz, an dem Sie arbeiten möchten, und es sollte funktionieren.

Stellen Sie sicher, dass Sie die folgenden Imports haben, und geben Sie ihr einen Rahmen und eine Farbe, um sicherzustellen, dass sie tatsächlich funktioniert, da Ihre Ansicht keinen Rahmen oder keine Farbe hat. Dieser Code funktioniert für mich.

import UIKit 
import PlaygroundSupport 

let view = UIView() 
view.backgroundColor = .white 
view.frame = CGRect(x: 0, y: 0, width: 100, height: 100) 

PlaygroundPage.current.liveView = view 

playground live view

+1

Wow, es hat funktioniert! Scheint wie ein Fehler. Apple muss es wirklich reparieren. – Blip

+0

Es sieht so aus, als würde das Schließen aller Simulatoren auch helfen, wenn der Spielplatz auf iOS ausgerichtet ist – JaanusSiim

4

hatte ich das gleiche Problem, wie gut und die folgende Codezeile es für mich festgelegt:

PlaygroundPage.current.needsIndefiniteExecution = true 

eine Live-Ansicht einstellen soll automatisch ermöglichen es für Sie , aber für mich war es nicht so. Muss ein Fehler in Xcode sein.

6

In Xcode 9.0 sowie mit:

PlaygroundPage.current.needsIndefiniteExecution = true 

Sie müssen manuell den Assistenten-Editor öffnen dann der Spielplatz mit aktuellem Fokus wird die UIView zeigen.