Cocoa:带有enterFullScreenMode的NSTextField和Fullscreen-Mode:

时间:2011-04-05 17:10:35

标签: objective-c cocoa fullscreen nstextfield first-responder

目前我正在尝试使用NSWFow的enterFullScreenMode:选项制作窗口内容的子视图查看新的全屏视图,该视图效果很好。但是,我的视图包含一个行为奇怪的NSTextField。当我切换到全屏模式时,它变为非活动状态(似乎辞职firstResponder状态)。我可以点击它并通过调用

来使用它
[myField becomeFirstResponder];

受到文档的劝阻。他们说我应该经常打电话

[myWindow makeFirstResponder: myField];

在全屏模式下不再有效。然而,最奇怪的是,当在字段中输入内容然后退出输入的文本时会消失。当快速切换到全屏模式时,它甚至可能会再次返回。知道我做错了什么吗?或者有关如何在不使用阻止的API调用的情况下使NSTextField以全屏模式退出firstResponder状态的任何反馈?

提前致谢, 尼古拉斯

1 个答案:

答案 0 :(得分:1)

你的意思是10.6对吧?

[myWindow makeFirstResponder: myField];

enterFullScreenMode会为视图创建一个新窗口,因此myWindow实际上是进入全屏之前的窗口。

你应该使用

[[self window] makeFirstResponder: myField];