小编Jak*_*ake的帖子

在Swift中以编程方式创建NSTextFields

有没有办法使用Swift以编程方式完全创建NSTextFields?我正在创建一个我不想连接到故事板的mac应用程序,但除了制作IBOutlet之外,我无法弄清楚创建NSTextField的任何方法.顺便说一句,我是编程的新手,很抱歉我缺乏技术语言.

谢谢!

编辑:

这是我到目前为止尝试过的代码:

当我这样做时,我收到错误消息"致命错误:在解开一个Optional值时意外地发现了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)
    }
Run Code Online (Sandbox Code Playgroud)

如果我尝试不创建任何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)
    }
Run Code Online (Sandbox Code Playgroud)

macos nstextfield swift xcode6

1
推荐指数
1
解决办法
3746
查看次数

标签 统计

macos ×1

nstextfield ×1

swift ×1

xcode6 ×1