【发布时间】:2011-07-30 04:00:17
【问题描述】:
目前我正在尝试使用 NSWindow 的 enterFullScreenMode: 选项来制作窗口内容的子视图查看新的全屏视图,效果很好。但是,我的视图包含一个行为怪异的 NSTextField。当我切换到全屏模式时,它变为非活动状态(似乎放弃了 firstResponder 状态)。我可以通过单击它并调用它来很好地使用它
[myField becomeFirstResponder];
文档不鼓励这样做。他们说我应该经常打电话
[myWindow makeFirstResponder: myField];
在全屏模式后不再起作用。然而,最奇怪的是,当在字段中输入内容然后退出时,输入的文本会消失。当足够快地切换回全屏模式时,它甚至可能会再次回来。知道我做错了什么吗?或者关于如何使 NSTextField 在全屏模式下退出 firstResponder 状态而不使用不鼓励的 API 调用的任何反馈?
提前致谢, 尼古拉斯
【问题讨论】:
-
好了,抓紧你的马。我刚刚发现(希望这对某人有所帮助)。当将视图置于全屏模式时,Cocoa 会为其分配两个 _NSFullScreenWindow 类的新窗口。所以你仍然可以打电话给
[[myField window] makeFirstResponder:myField]...也许我现在也会破解这个奇怪的行为。如果有,我会回复。
标签: objective-c cocoa fullscreen nstextfield first-responder