Je ne trouve aucun paramètre qui semble être lié à la valeur de texte affichée dans une variable NSTextView
. J'ai compris qu'une NSTextView
utilise une structure complexe (avec NSLayoutManager
etc ...), mais je ne trouve pas de moyen valide pour modifier la valeur actuelle de text
.
La bonne méthode est "setString" [textView setString:@"the string"];
Définition du texte sur le texte de sortieView Swift Xcode 8.0
textView.string = newString
Quelque chose comme ça:
[textView setString:@"new value"];
Si vous voulez définir un texte attribué (texte formaté), essayez
[myTextView setAttributedString:(NSAttributedString*)attrString].
NSTextView contient un objet NSTextStorage qui contient le texte ...
Objective C / Xcode 9
[myTextView setString:@"The string"];
self.myTextView.string = @"My String";
Swift / Xcode 9
self.myTextView.setString("MyString")
self.myTextView.string = "My String"
Presque là - le programme est en dessous - cela fonctionne presque. Il y a deux problèmes en suspens:
1) Il faut deux clics de souris pour définir le bon point de sélection dans le texte, le premier va toujours à la fin du texte. La seconde au nécessaire
position
2) Une erreur étrange est imprimée dans Shell - Échec d'assertion dans - [LUPresenter animationControllerForTerm: atLocation: options:], /SourceCache/Lookup-160/Framework/Classes/LUPresenter.m:
import Cocoa
class MyAppDelegate: NSObject, NSApplicationDelegate {
let window = NSWindow()
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"
let ed = NSTextView(frame: NSMakeRect(20, 10, 180, 160))
ed.font = NSFont(name:"Helvetica Bold", size:20)
ed.string = "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()
app.setActivationPolicy(.Regular)
let obj = MyAppDelegate()
app.delegate = obj
app.run()