1

目前我正在尝试使用 NSWindow 的 enterFullScreenMode: 选项制作窗口 contentView 的子视图,新的全屏视图效果很好。但是,我的视图包含一个行为怪异的 NSTextField。当我切换到全屏模式时,它变为非活动状态(似乎放弃了 firstResponder 状态)。我可以通过单击它并调用它来很好地使用它

[myField becomeFirstResponder];

文档不鼓励这样做。他们说我应该经常打电话

[myWindow makeFirstResponder: myField];

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

在此先感谢,尼古拉斯

4

1 回答 1

1

你是说10.6吧?

[myWindow makeFirstResponder: myField];

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

你应该使用

[[self window] makeFirstResponder: myField];
于 2011-05-31T07:44:24.697 回答