在我的斯威夫特操场上,我输入了以下代码来测试实时取景功能:
let view = UIView()
PlaygroundPage.current.liveView = view
但出于某种原因实时取景不显示在助理编辑的权利。起初我还以为Xcode中没有运行完毕操场。但我等了又等,它仍然没有显示。
任何帮助吗?
我有这个完全相同的问题。我发现了一个临时解决方案。
我注意到的是,如果我开了一个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
在Xcode 9.0,以及具有:
PlaygroundPage.current.needsIndefiniteExecution = true
您必须手动打开助理编辑,然后与当前焦点的操场将显示的UIView。
我有同样的问题,以及与下面的代码行固定对我来说:
PlaygroundPage.current.needsIndefiniteExecution = true
设置一个实时取景应该自动启用它适合你,但对我来说并没有这样做。一定要在Xcode中的错误。
设置一个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()
我能预览视图 - 控制的观点仅明确离开控制器的观点,在这样的操场代码:
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