Xcode中8操场实时取景不起作用

问题描述 投票:11回答:5

在我的斯威夫特操场上,我输入了以下代码来测试实时取景功能:

let view = UIView()

PlaygroundPage.current.liveView = view

但出于某种原因实时取景不显示在助理编辑的权利。起初我还以为Xcode中没有运行完毕操场。但我等了又等,它仍然没有显示。

截图:enter image description here

任何帮助吗?

ios swift xcode swift-playground
5个回答
24
投票

我有这个完全相同的问题。我发现了一个临时解决方案。

我注意到的是,如果我开了一个Xcode项目,将导致此错误。所以才完全退出的Xcode(指令Q),只有打开你想工作,对现场的操场,它应该工作。

请确保您有以下进口,你可能想给它一个框架和颜色只是为了确保它实际上是工作,因为你的观点没有一个框架或颜色。此代码对我的作品。

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


12
投票

在Xcode 9.0,以及具有:

PlaygroundPage.current.needsIndefiniteExecution = true

您必须手动打开助理编辑,然后与当前焦点的操场将显示的UIView。


7
投票

我有同样的问题,以及与下面的代码行固定对我来说:

PlaygroundPage.current.needsIndefiniteExecution = true

设置一个实时取景应该自动启用它适合你,但对我来说并没有这样做。一定要在Xcode中的错误。


2
投票

设置一个UIView作为实时取景只为我工作在iPad上游乐场而不是在Xcode。

为了使视图出现在Xcode 9和10的操场我裹成一个视图控制器并将其设置为实时取景,而不是(就像默认单个视图游乐场一样):

import UIKit
import PlaygroundSupport

class MyViewController : UIViewController {
    override func loadView() {
        let view = UIView()
        view.backgroundColor = .white
        self.view = view
    }
}

PlaygroundPage.current.liveView = MyViewController()

2
投票

我能预览视图 - 控制的观点仅明确离开控制器的观点,在这样的操场代码:

import UIKit
import PlaygroundSupport

class MyViewController : UIViewController {
    // ...
}

let controller = MyViewController()
PlaygroundPage.current.liveView = controller
controller.view // <- to the far right of this line in editor you'll be able to expand and see result
© www.soinside.com 2019 - 2024. All rights reserved.