我正在经营一个游乐场,Xcode 6.3(6D543q)。因此Swift 1.2
游乐场将导入XCPlayground。我正在创建一个UIView,并调用XCPShowView()使其在模拟器中而不是在游乐场中渲染。我也以同样的方式展示了UIAlertView。
UIAlertView将正常显示。UIView每秒在较大和较小的大小之间闪烁约5次,这是合理的不规则。我试过调整它的大小以满足屏幕的限制,但没有成功。
下面的代码。。。。
// Playground - noun: a place where people can play
import UIKit
import Foundation
import XCPlayground
XCPlayground.XCPSetExecutionShouldContinueIndefinitely(continueIndefinitely: true)
@objc class alertHandler: NSObject, UIAlertViewDelegate {
func alertView(alertView: UIAlertView, clickedButtonAtIndex buttonIndex: Int) {
if buttonIndex > 0 {
// View things....
let redRectangleFrame = CGRect(x: 0, y: 0, width: 200, height: 200)
let redRectangle = UIView(frame: redRectangleFrame)
redRectangle.backgroundColor = UIColor.redColor()
redRectangle.setTranslatesAutoresizingMaskIntoConstraints(false)
XCPShowView("Red Rectangle", redRectangle)
// Alert view things...
let recevingAlertView = alertView
let text = alertView.textFieldAtIndex(0)?.text
println("(text!)")
println("Button (buttonIndex)")
}
}
}
let anAlertHandler = alertHandler()
let status = "Hey there!"
let message = "Do you have a moment to talk about our Lord and Saviour, Cthulhu?"
let cancel = "Sounds wierd"
let ok = "Oooh! Yes"
let alert = UIAlertView(title: status,
message: message,
delegate: anAlertHandler,
cancelButtonTitle: cancel,
otherButtonTitles: ok)
alert.alertViewStyle = UIAlertViewStyle.PlainTextInput
alert.show()
XCPShowView("Alert", alert)
注意到一些测试操场模拟器示例在本地出现了一些闪烁(您的示例对我来说是崩溃的6.3.2版(6D2105))
从这篇帖子(他们的动画确实出现了,但闪烁,重叠)
UIKit在游乐场中存在一些局限性和不足。这个主要限制是在中使用"自动布局"时会出现一些问题游乐场。某些约束将导致中的运行时异常此外还增加了编译时间。希望将来能更新Xcode将解决此问题。另一个不利因素是游乐场的表现当使用XCPlayground时。由于Xcode使用在游乐场后面运行的iOS模拟器。