我无法找到任何与NSTextView
中显示的文字值相关的参数。我理解NSTextView
使用复杂的结构(NSLayoutManager
等...),但我无法找到修改当前text
值的有效方法。
答案 0 :(得分:24)
正确的方法是“setString”[textView setString:@"the string"];
答案 1 :(得分:14)
在插座textView Swift Xcode 8.0上设置文本
textView.string = newString
答案 2 :(得分:4)
这样的事情:
[textView setString:@"new value"];
答案 3 :(得分:2)
如果要设置属性文本(格式化文本),请尝试
[myTextView setAttributedString:(NSAttributedString*)attrString].
NSTextView包含一个实际保存文本的NSTextStorage对象...
答案 4 :(得分:2)
目标C / Xcode 9
[myTextView setString:@"The string"];
self.myTextView.string = @"My String";
Swift / Xcode 9
self.myTextView.setString("MyString")
self.myTextView.string = "My String"
答案 5 :(得分:0)
几乎就是 - 程序在下面 - 这几乎可以工作。那里有两个 突出问题:
1)点击两次鼠标即可在文本中设置正确的选择点 第一个总是到文本的末尾。第二个要求的 位置
2)在shell中打印出一个奇怪的错误 - 断言失败 - [LUPresenter animationControllerForTerm:atLocation:options:],/ SourceCache / Lookup / Lightsup160 / Framework / Class / 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()