swift游乐场是否支持UIKit?

时间:2014-06-03 07:39:09

标签: uikit swift swift-playground

我试图在操场上创建UILabel但是失败了。 playground现在只支持 OS X 开发吗?

10 个答案:

答案 0 :(得分:75)

是的,确实如此!

文件:新>文件...> iOS>来源>游乐场

import UIKit
let lbl = UILabel(frame: CGRectMake(0, 0, 300, 100))
lbl.text = "Hello StackOverflow!"

然后, 保存 该文件。这将触发Playground解释与UI相关的事物。有时您可能需要折腾一个尾随的换行符并再次保存 - 它是一个测试版。在这一点上," UILabel"应出现在右侧。

ios playground quickview

现在,要实际查看您已完成的工作,您必须点击“快速查看”"在右边的眼睛,或在助理编辑器中打开它的白色圆圈:

这里是UIImage工作的一些基本内容的截图等。 ios playground example

答案 1 :(得分:48)

编辑@ 2014-11-13:似乎新的xcode 6修复了此问题。

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

如果您想导入UIKit,请按照以下步骤操作:

  1. 查看 - >实用程序 - >显示文件检查器(opt + cmd + 1)
  2. 在Xcode的右侧更改“游乐场设置 - >平台“从OS X到iOS
  3. 然后你可以导入UIKit或iOS的某个模块

    PS。我尝试创建一个UIImageView但它没有在右侧显示正确的图像。导入UIKit似乎毫无价值

答案 2 :(得分:16)

在Xcode 7中,现在您无法使用Quick Look查看UIView的外观。

相反,请使用Assistant Editor和:

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!"
}

答案 3 :(得分:11)

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

import PlaygroundSupport 

PlaygroundPage.current.liveView = view

答案 4 :(得分:9)

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

答案 5 :(得分:5)

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

答案 6 :(得分:5)

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

答案 7 :(得分:3)

按Option + Cmd + 1并在平台设置中选择iOS。然后你可以导入UIKit并播放〜

答案 8 :(得分:2)

最简单的解决方案: Xcode 9.2

  • 从新的Single View游乐场开始:

enter image description here

  • show Assistance Editor:View - >援助编辑 - >显示协助编辑器。

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

答案 9 :(得分:-6)

是的,它似乎还不支持UIkit。

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

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