gpt4 book ai didi

cocoa - 如何更新 NSView 中的文本?

转载 作者:行者123 更新时间:2023-11-28 07:09:44 25 4
gpt4 key购买 nike

我想更新通过 drawInRect: withAttributes:NSView 中添加的文本。但是,似乎不能仅通过更改其属性来更新文本。

class MyView: NSView {
var str: NSString!

override func drawRect(dirtyRect: NSRect) {
super.drawRect(dirtyRect)

str = "Sample Text"
str.drawInRect(NSMakeRect(0, 0, 60, 40), withAttributes: nil)
}
}

上面的代码创建了文本 Sample Text 到我添加到 Storyboard上的 View 。

但是,当我尝试通过更改其属性或再次调用 drawInRect: withAttributes: 来更新文本时,文本根本没有更新。这是代码:

@IBAction func callButton(sender: AnyObject) {
myView.str = "Test"
myView.str.drawInRect(CGRectMake(0, 0, 60, 40), withAttributes: nil)
}

为什么文本没有更新?另外,如何更新文本?

最佳答案

不要覆盖 drawRect 中的 str。相反,在初始化时为属性设置一个默认字符串,并在更新 str 属性时使用 setNeedsDisplay 将 View 标记为脏。

关于cocoa - 如何更新 NSView 中的文本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28916883/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com