I can't find any parameter that seems to be related with the text value showed in a NSTextView
. I understood that a NSTextView
uses a complex structure (with NSLayoutManager
etc...), but I can't find a valid way to modify the current text
value.
问题:
回答1:
The right method is "setString" [textView setString:@"the string"];
回答2:
Setting text on outlet textView Swift Xcode 8.0
textView.string = newString
回答3:
If you want to set attributed text (formatted text) them try
[myTextView setAttributedString:(NSAttributedString*)attrString].
NSTextView contains a NSTextStorage object that actually holds the text...
回答4:
Something like this:
[textView setString:@"new value"];
回答5:
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"
回答6:
Almost there - the program is below - this almost works. There are two outstanding problems:
1) It takes two mouse click to set the correct selection point in the text
the first always goes to the end of the text. The second to the required
position
2) A strange error is printed in the shell - Assertion failure in -[LUPresenter animationControllerForTerm:atLocation:options:], /SourceCache/Lookup/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()