【问题标题】:Xcode 8.2 Playground not showing UIKit resultsXcode 8.2 Playground 未显示 UIKit 结果
【发布时间】:2017-07-09 23:34:58
【问题描述】:

我尝试运行一些 UIKit 游乐场示例,但在查看图形结果时遇到问题。

什么有效:

  1. 我可以在灰色右侧的编辑器窗格中预览任何字符串分配。
  2. 我可以单击“眼睛”(快速预览)或“小矩形”图标并查看正确的 UIKit 结果,尽管是在临时弹出窗口或代码行之间的窗格中(两者都较小)。
  3. 我可以打印内容,它会显示在编辑器下方的窗格中(在带有时间线和开始/停止按钮的栏下方)。

什么不起作用:

  1. 我无法以大型图形显示我的代码结果。

以下是我尝试使用的一些示例代码:

import UIKit
import PlaygroundSupport

let containerView = UIView(frame: CGRect(x: 0.0, y: 0.0, width: 375.0, height: 667.0))


let circle = UIView(frame: CGRect(x: 0.0, y: 0.0, width: 50.0, height: 50.0))
circle.center = containerView.center
circle.layer.cornerRadius = 25.0

let button = UIButton(type: .detailDisclosure)
containerView.addSubview(button)

let startingColor = UIColor(red: (253.0/255.0), green: (159.0/255.0), blue: (47.0/255.0), alpha: 1.0)
circle.backgroundColor = startingColor

containerView.addSubview(circle);

PlaygroundPage.current.liveView = containerView

在操场上我还有什么需要做的吗? 有一个相关的问题:Playground not showing results 询问 OP 是否在模拟器中设置了设备。好吧,就我而言,我没有,但我不知道在哪里做。模拟器没有运行。

编辑:

我看到标记为可能重复的问题,接受的答案对我不起作用,另一个提到部分解决方案(仅快速和内联预览)。所以改写我的问题:在 Xcode 8.2 中,除了快速预览(弹出)和内联预览(代码行之间)之外,我是否应该期望在其他任何地方看到 UIView 相关结果?

【问题讨论】:

  • 是的,谢谢,它可能是,但那里的解决方案要么部分工作,要么根本不工作。
  • FWIW,我突然有一个没有渲染的操场。我不高兴地退出并重新启动了 Xcode。然后我关闭了助手编辑器并重新打开它,UI出现了。最重要的是,liveView 在 Xcode 8.2.1 中有点不稳定。

标签: swift xcode swift-playground


【解决方案1】:

您应该定义“大型图形显示”的含义。为什么链接中(以及您自己)使用的解决方案不符合您的需求?

编辑

不是大图形显示吗?

【讨论】:

  • 您是否在助手编辑器窗格中获得了附加结果?
  • 是的,就像你一样,就像我提到的链接一样。真的,我不明白你在期待什么。
  • 我希望得到和你一样的东西,但我没有。我的助理编辑是空的。对我来说,查看任何内容的唯一方法是单击其中一个小预览按钮,当我将一条线悬停在灰色打印结果窗格中时(屏幕截图中的左中)会显示该按钮。结果仅显示为临时弹出窗口或左侧编辑器行之间的缩小预览。我想看看运行 Playground 代码的最终结果。
  • 在“重复问题”中,Duncan C 有类似的问题,但他的 XCode 崩溃了。我的只是默默地失败了。
  • 我的部分解决方案适用于上面的示例,但不适用于这样的示例:gist.github.com/koko236/27a8f9a2bcf0355b07072246bd5a4710
【解决方案2】:

试试这是否可行:

在右上角,取消单击任何其他按钮,然后按下面蓝色突出显示的按钮。

您现在看到图形视图了吗?

【讨论】:

  • 我可以看到助手编辑器的右窗格,但它只是黑色的。当我单击中间屏幕窗格(眼睛或小矩形)中中间结果旁边的图标时,我可以看到部分结果。这是截图:imgur.com/a/DwVbB
【解决方案3】:

我和你有同样的问题。这是我以某种方式解决它的方法。

似乎有了实时预览(PlaygroundPage.current.liveView),游乐场正在启动一个模拟器。就我而言,它默认打开的是 iOS 9 设备。我想这是我用过的最后一个。

  1. 我关闭了 Playground 的助理编辑器,隐藏了我拥有的所有内联预览(它们似乎与实时预览冲突),然后完全关闭了 Xcode。
  2. 在模拟器 -> 硬件 -> 设备中,我选择了 iOS 10 设备
  3. 我也关闭了模拟器
  4. 我从 Dock 中打开了 Xcode(不是直接打开文件)
  5. 我选择操场打开
  6. 我打开了助理编辑器。在您通常会看到带有“Running YourPlaygroundName”的加载程序的顶部,您应该看到“正在启动模拟器”。它应该会启动您在上面选择的 iOS 10 设备。

希望对你有用

【讨论】:

  • playground 打开实际的 Simulator App 是预期的结果吗?因为我可以看到“正在启动模拟器”状态,然后是“正在运行 [PlayrgroundName]”,但助手编辑器是空白的并且模拟器没有打开。此外,我什至没有 iOS9 设备,只有 10.2 和 tvOS。
  • 我切换到 tvOS 并返回 iOS 10 只是为了搅动一些事情 - 仍然无法正常工作,但很高兴听到有一些问题。我会试着摆弄一下,看看有没有其他巫毒教有帮助。
  • 是的,如果模拟器还没有打开,它应该打开。你可以检查你的码头。我让它在 iPhone SE 上运行,我试过 iPad,但它不适合我
猜你喜欢
  • 1970-01-01
  • 2014-11-30
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-11-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多