【发布时间】:2015-01-10 03:03:33
【问题描述】:
有什么方法可以使用 Swift 完全以编程方式创建 NSTextFields?我正在创建一个我不想连接到情节提要的 mac 应用程序,但除了制作 IBOutlet 之外,我想不出任何创建 NSTextField 的方法。顺便说一句,我是编程新手,很抱歉我缺乏技术语言。
谢谢!
编辑:
这是我目前尝试过的代码:
执行此操作时,我收到错误消息“致命错误:在展开可选值时意外发现 nil。”无论我是测试 SKView 还是 NSView,都会弹出相同的错误消息。如果我尝试将 IBOutlet 定义为“view”而不是“test”,它会告诉我无法覆盖存储的属性“view”。
import Foundation
import Cocoa
import SpriteKit
class SettingsScene: SKScene {
@IBOutlet weak var window: NSWindow!
@IBOutlet weak var test: SKView!
var ballSpeedText = NSTextField(frame: NSMakeRect(20,20,200,40))
override func didMoveToView(view: SKView) {
ballSpeedText.textColor = NSColor.redColor()
ballSpeedText.stringValue = "Test"
test.addSubview(ballSpeedText)
}
如果我尝试在不创建任何 IBOutlets 的情况下执行此操作,仅使用视图,我不会收到任何错误,但文本字段不会显示:
import Foundation
import Cocoa
import SpriteKit
class SettingsScene: SKScene {
var ballSpeedText = NSTextField(frame: NSMakeRect(20,20,200,40))
override func didMoveToView(view: SKView) {
ballSpeedText.textColor = NSColor.redColor()
ballSpeedText.stringValue = "Test"
view.addSubview(ballSpeedText)
}
【问题讨论】:
-
你必须使用 SKLabel 和 SpriteKit
标签: macos swift xcode6 nstextfield