PlaygroundBook liveView显示SceneView错误

时间:2017-03-08 06:54:30

标签: ios swift scenekit swift-playground

我目前正在玩PlaygroundBook。从Doc,它说你可以使用LiveView.swift在liveView中呈现一个永远在线的视图。所以我在源文件夹中创建一个SceneViewController。在SceneViewController中,我创建了一个Sphere,其中lightingModel是 physicalBased ,我使用3D地图作为背景内容。





然后在LiveView中.swift




  import PlaygroundSupport
 let page = PlaygroundPage.current
 page.current.liveView = SceneViewController()
  




当我在iPad Air Playground中运行它时。我没有收到任何错误,但是liveView没有显示任何内容!





我花了很多年时间发现错误。我尝试使用相同的SceneViewController创建一个新的iOS项目,它工作得很好。我不知道。





最后,我尝试将lightingModel更改为.phong,并将背景更改为白色。

&#xA ;


然后神奇的事情发生了! liveView现在显示黑色球体和白色背景。





为什么?


&# xA;

从WWDC会话中,我了解到我可以使用代理与Contents.swift和LiveView进程中的主进程进行通信。





接下来,我做了扩展名。




 扩展名SceneViewController:PlaygroundLiveViewMessageHandler {
 public func receive(_ message:PlaygroundValue){
 if case let .string(_)= message {
 changeColor()
 }
 }
}
  




在Contents.swift中,我创建了一个新函数


& #xA;
  func addSky(){
如果让proxy = page.liveView为? PlaygroundRemoteLiveViewProxy {
 proxy.send(.string( “addSky”))
 }
}
  




我称之为EveryTime,liveView 已更改,请参见下图。它与我第一次尝试使用3D地图作为背景时相同。






< strong>有谁知道它发生了什么?

&#xA;

0 个答案:

没有答案