Sto cercando di creare un'area di testo modificabile in una NSWindow. Finora riesco a creare una finestra con e aggiungere un campo di testo, ma quando seleziono e digito i caratteri i caratteri vengono echeggiati nella shell e NON nell'area di testo.Come creare un campo di testo modificabile in un'applicazione shell veloce
Nota: Questo non è un progetto Xcode - sto cercando di fare questo in un unico file nella shell - il mio obiettivo è quello di fare questo nel codice solo
Per replicare l'errore inserire il seguente codice in un file (experiment.swift) e dare il comando di shell
> swift experiment.swift
Ecco il codice
import Cocoa
class MyAppDelegate: NSObject, NSApplicationDelegate {
let window = NSWindow()
let ed = NSTextField(frame: NSMakeRect(20, 10, 180, 160))
func applicationDidFinishLaunching(aNotification: NSNotification) {
window.setContentSize(NSSize(width:600, height:200))
window.styleMask = NSTitledWindowMask | NSClosableWindowMask |
NSMiniaturizableWindowMask |
NSResizableWindowMask
window.opaque = false
window.center();
window.title = "My window"
ed.font = NSFont(name:"Helvetica Bold", size:20)
ed.stringValue = "edit me"
ed.editable = true
ed.selectable = true
window.contentView!.addSubview(ed)
window.makeKeyAndOrderFront(window)
window.level = 1
}
func applicationWillTerminate(aNotification: NSNotification) {
// Insert code here to tear down your application
}
}
let app = NSApplication.sharedApplication()
let obj = MyAppDelegate()
app.delegate = obj
app.run()
Questo aiuta - ora posso modificare nella finestra, ma quando premo il carrello restituire l'intera linea è selezionata e una nuova linea non viene creata. –