Jak*_*ake 1 macos nstextfield swift xcode6
有没有办法使用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)
你可以轻松地做到.只需将您的视图连接到插座,然后您就可以这样做:
import Cocoa
@NSApplicationMain
class AppDelegate: NSObject, NSApplicationDelegate {
@IBOutlet weak var window: NSWindow!
@IBOutlet weak var view: NSView!
let myTextField = NSTextField(frame: NSMakeRect(20,20,200,40))
func applicationDidFinishLaunching(aNotification: NSNotification) {
myTextField.textColor = NSColor.redColor()
myTextField.stringValue = "Hello World !!!"
view.addSubview(myTextField)
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3746 次 |
| 最近记录: |