【发布时间】:2023-04-10 21:47:02
【问题描述】:
在创建打算在 iPad 应用程序上使用的新 Swift Playground / .playgroundbook 时,我经常收到错误消息:
“运行 Playground 时出现问题。运行此 Playground 时遇到问题。请检查您的代码是否有错误。”
我可以追踪此问题是由于将某些子视图添加到我的实时视图时引起的。更准确地说,我的目标是将 UIImage 拆分为多个部分并为它们创建新的 UIImageViews:
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 个这样的 UIImageView 可以正常工作。但只要我想添加 8 个或更多,playground 就会停止工作并给出错误消息“Problem running playground...”(见上文)
到目前为止我测试的内容:
- 添加具有相同图像的 UIImageViews 不会导致此问题
- 在后台线程中裁剪 UIImage 并在主线程中添加视图也无济于事
- 创建 UIImageViews 而不将它们添加到实时视图不会导致任何问题
- 代码在 Mac 操场上执行时运行良好,无论要添加多少人视图
【问题讨论】:
-
遇到同样的问题!如果您找到了明确的解决方法,请告诉我。
-
尚未解决此问题。作为一种解决方法,我切换到 SpriteKit,在那里我用我想要使用的图像初始化 SKNodes。这样,我可以根据需要添加任意数量的图像...
-
聪明!感谢您的更新。
标签: ios swift ipad uiimage swift-playground