65

我试图UILabel在操场上创建一个但失败了。Playground 目前是否只支持OS X开发?

4

10 回答 10

79

是的,它确实!

文件:新建 > 文件... > iOS > 源 > Playground

import UIKit
let lbl = UILabel(frame: CGRect(x: 0, y: 0, width: 300, height: 100))
lbl.text = "Hello StackOverflow!"

然后,保存文件。(或者手动运行它。)这将触发 Playground 来解释 UI 相关的东西。此时,“UILabel”一词应出现在右侧。

ios 游乐场快速浏览

现在,要实际查看您所做的工作,您必须单击右侧的“快速查看”眼睛或白色圆圈以在助理编辑器中打开它:

这是 UIImage 工作等的一些基本内容的屏幕截图。 ios游乐场示例

(编辑:对当前 CGRect 语法的小文本更新——但是,屏幕截图仍然显示旧语法。)

于 2014-06-08T00:57:52.677 回答
48

已编辑@2014-11-13:似乎新的 xcode 6 已解决此问题。

不,它没有。但值得注意的是,你可以导入 UIKit。

如果你想导入 UIKit 你可以按照这个:

  1. 查看 -> 实用程序 -> 显示文件检查器(opt + cmd + 1)
  2. 在 Xcode 右侧将“Playground Settings -> Platform”从 OS X 更改为 iOS

然后你可以为 iOS 导入 UIKit 或一些模块

附言。我尝试创建一个 UIImageView 但它没有在右侧显示正确的图像。导入 UIKit 似乎一文不值

于 2014-06-03T14:01:35.090 回答
16

在 Xcode 7 中,现在您无法使用Quick Look. 查看UIView.

相反,使用Assistant Editorand:

XCPlaygroundPage.currentPage.liveView = sampleView

像这样:

import XCPlayground
import UIKit

XCPlaygroundPage.currentPage.needsIndefiniteExecution = true

// Simulate User Interaction, not available in Xcode 7.2
func delay(delay:Double, closure:()->()) {
    dispatch_after(
        dispatch_time(
            DISPATCH_TIME_NOW,
            Int64(delay * Double(NSEC_PER_SEC))
        ),
        dispatch_get_main_queue(), closure)
}

let color = UIColor(red: 1, green: 1, blue: 0, alpha: 1)
let leftMargin = 20
let view = UIView(frame: CGRect(x: 0, y: 0, width: 375, height: 667)) // iPhone 6 proportions
view.backgroundColor = UIColor.grayColor()

// LABEL
let label = UILabel(frame: CGRect(x: leftMargin, y: 5, width: 300, height: 44))
label.text = "Hello, playground"
label.textColor = UIColor.whiteColor()
view.addSubview(label)

// TEXTFIELD
let textField = UITextField(frame: CGRect(x: leftMargin, y: 60, width: 300, height: 44))
textField.placeholder = "Edit me…"
textField.backgroundColor = UIColor(white: 1, alpha: 0.5)
textField.textColor = UIColor.whiteColor()
textField.userInteractionEnabled = true
view.addSubview(textField)

XCPlaygroundPage.currentPage.liveView = view

delay(1.0) { () -> () in
    textField.text = "New text!"
}
于 2015-11-05T12:54:51.327 回答
14

在 Xcode 8XCPlaygroundPage.currentPage.liveView中已弃用。相反,使用

import PlaygroundSupport 

PlaygroundPage.current.liveView = view
于 2016-07-21T03:45:23.217 回答
9

按 CMD+Option+1 并将平台更改为 iOS,这将允许您导入 UIKit。

于 2014-06-10T15:16:36.093 回答
5

我发现我可以在 IOS 项目中添加一个新的 Playground 文件,并且在该文件中我可以导入 UIKit。

于 2014-06-03T07:49:39.913 回答
5

请使用Command (⌘) + Option(⌥) + 1组合从操场上的 OSX 切换到 iOS 平台以使用 UIKit 。

于 2015-04-15T15:19:50.917 回答
5

最简单的解决方案: Xcode 9.2

  • 从一个新的 Single View Playground 开始:

在此处输入图像描述

  • 显示协助编辑器:查看 -> 协助编辑器 -> 显示协助编辑器。

  • 干得好。默认情况下,您将看到打印属性:label.text = "Hello World!"在实时视图窗口中

于 2018-06-06T19:13:17.033 回答
3

按 Option+Cmd+1 并在平台设置中选择 iOS。然后就可以导入UIKit来玩啦~

于 2014-06-04T19:53:00.377 回答
-7

是的,看起来它还不支持 UIkit。

更新:当我在 2014 年写这个答案时,它不支持 UIKit,现在支持了。留作历史参考

编辑:实际上上面的答案是不正确的。

您可以创建 iOS 项目并在该项目中添加新的 .playground 文件。然后你可以导入 UIkit 或其他 iOS 特定的框架。

于 2014-06-03T07:43:58.017 回答