NSTextView不会更新,除非我点击它,它不会集中注意力。有任何想法吗?

时间:2011-04-16 03:23:18

标签: objective-c cocoa xcode nswindow nstextview

我没有时间在这一秒放一些示例代码,(我明天编辑我的问题并添加一些)但基本上发生的事情是我有一个窗口。它通常工作正常,但如果我使用

 [myWindow setStyleMask:NSBorderlessWindowMask]

使它无边界,它包含的NSTextView即使你点击它也会停止聚焦:环将永远不会出现,光标不会改变,滚动条将保持灰色。

当我使它无边框时发生的其他事情是它不会更新!我基本上有这个

 [lyricsView setString:someString];

更新其中的字符串。控制台标记我没有错误,但字符串不会出现在文本视图中,除非我点击它。

如果我删除将styleMask设置为无边框的行,则所有这些都会停止。有任何想法吗?建议?评论?干杯?

谢谢! 凯文

1 个答案:

答案 0 :(得分:1)

来自NSWindow的文档:

如果窗口有标题栏或调整大小栏,则NSWindow实现返回YES,否则返回NO。

因此,对您的窗口进行子类化并添加此行

   -(BOOL)canBecomeKeyWindow
   {
        return YES;
   }