Objective c 将焦点从NSTextField更改为NSOpenGLView?

Objective c 将焦点从NSTextField更改为NSOpenGLView?,objective-c,cocoa,focus,nstextfield,nsopenglview,Objective C,Cocoa,Focus,Nstextfield,Nsopenglview,我正在使用interface Builder为Mac上的OpenGL模拟开发一个界面。所有OpenGL的东西都是用C++编写的,我都知道。不幸的是,我对Objective-C一无所知 基本上,我有几个NSTextField显示屏幕上选定对象的信息。使用这些文本字段,用户可以在屏幕上操作对象,然后有一个保存按钮和一个还原按钮,用于保存新值或还原原始值 我已经把这些都做好了。我的问题是,当我将数据输入到NSTextField时,窗口的焦点似乎仍停留在NSTextField上,蓝色边框仍在其周围 我使

我正在使用interface Builder为Mac上的OpenGL模拟开发一个界面。所有OpenGL的东西都是用C++编写的,我都知道。不幸的是,我对Objective-C一无所知

基本上,我有几个NSTextField显示屏幕上选定对象的信息。使用这些文本字段,用户可以在屏幕上操作对象,然后有一个保存按钮和一个还原按钮,用于保存新值或还原原始值

我已经把这些都做好了。我的问题是,当我将数据输入到NSTextField时,窗口的焦点似乎仍停留在NSTextField上,蓝色边框仍在其周围

我使用键盘与NSOpenGLView中的项目进行交互,当我点击保存或还原按钮时,我需要将焦点传递回NSOpenGLView

抱歉,如果这是一个非常简单的问题

谢谢


David

您是否尝试过使用NSWindow方法使您的NSOpenGLView成为第一响应者?

刚刚成功地使其工作

我不得不加上一句话:

[[NSApp keyWindow]makeFirstResponder:MyOpenGLView]

当我单击任意一个按钮时,调用函数的结尾


谢谢Julio为我指明了正确的方向

谢谢Julio,我在过去的几个小时里一直在关注makeFirstResponer,但没有找到任何方向。然后在这里,我从[NSApp keyWindow]中找到了调用make responder的引用,并设法使其正常工作。只需添加“[[NSApp keyWindow]makeFirstResponder:MyOpenGLView];”在我的按钮调用函数的末尾。谢谢。很乐意帮忙,别忘了把我的答案标为正确!这将有助于我的电子阴茎成长,并帮助未来的访客;