Deshalb mag ich den Benutzer fragen, über Blatt, etwas in einem modalen Dialog:Einstellung Ersthelfer auf modal Blatt
class MyTextView : NSTextView {
override func viewWillDraw() {
dispatch_async(dispatch_get_main_queue()) {
self.window?.makeFirstResponder(self)
}
}
}
private func requestNotification() {
let alert = NSAlert()
alert.alertStyle = NSAlertStyle.InformationalAlertStyle
alert.messageText = "Enter your email address"
let urlField = MyTextView.init(frame: NSMakeRect(0,0,300,28))
let urlScroll = NSScrollView.init(frame: NSMakeRect(0,0,300,28))
urlScroll.hasVerticalScroller = true
urlScroll.autohidesScrollers = true
urlField.drawsBackground = true
urlField.editable = true
urlScroll.documentView = urlField
alert.accessoryView = urlScroll
alert.addButtonWithTitle("Send")
alert.addButtonWithTitle("Cancel")
alert.beginSheetModalForWindow(self.window!, completionHandler: { response in
if response == NSAlertFirstButtonReturn {
// Send
let view = (alert.accessoryView as! NSScrollView).documentView as! NSTextView
let text = view.string! as String
self.webViewController.loadAlmostURL(text)
}
})
}
, die viel besser als Versuche mit einem NSTextField fungiert.
Zumindest die Interaktion beginnt mit der Eingabe, aber ich möchte die Textansicht begrenzen?
Nun, sub-Klassierung NSTextField ich es das erste Responder machen kann, aber die Bearbeitung überlappt, wie etwas nicht war richtig geladen; Ich werde das Original damit aktualisieren. – slashlos
Verwenden Sie stattdessen NSTextView; Dies führt jedoch zu einem anderen Problem, das in eine Bildlaufansicht eingebettet werden muss, die wiederum Beschränkungen erfordert, damit vertikales Scrollen möglich ist. – slashlos