Swift Playgrounds的观看次数有限

时间:2017-03-09 12:15:45

标签: ios swift ipad uiimage swift-playground

在创建一个新的 Swift Playground / .playgroundbook用于 iPad App 时,我经常收到错误消息:

"运行游乐场时遇到问题。运行此游乐场时遇到问题。检查代码是否存在错误。"

我可以在将某些子视图添加到我的实时视图时跟踪此问题。更确切地说,我的目标是将UIImage分成多个部分并为它们创建新的UIImageView:

for x in 0..<parts {
    for y in 0..<parts {
        //Create UIImageView with cropped image
        let pieceView = UIImageView.init(frame: CGRect.init(x: CGFloat(x)*singleSize.width, y:CGFloat(y)*singleSize.height, width: singleSize.width, height: singleSize.height))
        let imageRef = image.cgImage!.cropping(to: CGRect.init(x:0, y:0, width: 100, height: 100));
        pieceView.image = UIImage.init(cgImage: imageRef!)
        //Add them to an array
        self.viewArray.append(pieceView)
    }
}

对我而言,事情变得非常棘手:现在添加7个这些UIImageViews没有问题。但是,只要我想添加8个或更多,操场就会停止工作并提供错误消息&#34;运行操场的问题.​​.....&#34; (见上文)

到目前为止我测试了什么:

  • 使用相同的图像添加UIImageViews不会导致此问题
  • 在后台线程中裁剪UIImage并在主线程上添加视图也无济于事
  • 创建UIImageViews而不将其添加到实时视图不会导致任何问题
  • 无论人们如何添加
  • 视图,代码在mac操场上执行时效果都很好

3 个答案:

答案 0 :(得分:0)

我看到了一个类似的问题,问题是它只是一个零错误使用 为了获得明确的错误消息,只需创建一个包含相同文件的游乐场,然后在Mac上运行:这样您就可以获得有关正在发生的事情的更详细信息,并更容易解决您的问题。

如果您发现任何困难,请告诉我:)。

答案 1 :(得分:0)

可能是一个较晚的答案...但是上周我遇到了同样的问题...今天终于可以弄清楚如何解决了:

我正在运行一段代码,然后在其中添加背景视图:

func createView(){
    // gray background
    let marco = CGRect(x:0, y: 0, width: 603, height: 825)
    vista = UIView(frame: marco)
    vista.backgroundColor = UIColor.gray
    vista.isUserInteractionEnabled = true
    vista.tag = 5
    PlaygroundPage.current.liveView = vista
    PlaygroundPage.current.needsIndefiniteExecution = true
}

但是我把它放在代码的开头

我更改的是:

PlaygroundPage.current.liveView = vista
PlaygroundPage.current.needsIndefiniteExecution = true

在开始运行程序之前,将其放在所有代码的末尾...如果您需要更多详细信息,请告诉我并可以共享更多信息。

答案 2 :(得分:0)

在添加多个UI元素时,我遇到了此类iPad Swift Playground运行时错误。

由游乐场属性中默认设置为“启用结果”引起的问题,该属性设置为ON。 “启用结果”预览所有嵌入式对象结果的查看器。当您生成许多UI元素时,它会使迅速的操场崩溃。

尝试禁用“启用结果”。这个对我有用。 Swift Playground: Turn off for Enable Results