Cocoa NSTextView不会成为第一响应者
以下是我的小测试应用程序的布局: AppDelegate拥有WindowController。 WindowController拥有CustomTextContainerView。 CustomTextContainerView拥有一个NSScrollView,它将MyCustomTextView嵌入到一个NSTextView子类中。 标准主菜单和我的窗口控制器的XIB都相对空。我的窗口控制器的-windowDidLoad如下所示:Cocoa NSTextView不会成为第一响应者,cocoa,nstextview,first-responder,Cocoa,Nstextview,First Responder,以下是我的小测试应用程序的布局: AppDelegate拥有WindowController。 WindowController拥有CustomTextContainerView。 CustomTextContainerView拥有一个NSScrollView,它将MyCustomTextView嵌入到一个NSTextView子类中。 标准主菜单和我的窗口控制器的XIB都相对空。我的窗口控制器的-windowDidLoad如下所示: - (void)windowDidLoad { [su
- (void)windowDidLoad {
[super windowDidLoad];
// create CustomTextContainerView
[[self window] setContentView:self.customTextContainerView];
}
我想做的是将first responder设置为textView,但我已经尝试了所有我能想到的方法来实现这个功能
我已经让CustomTextContainerView成为其文本视图的第一响应者。我试着直接在容器和文本视图上调用它,但我无法让它自动成为第一响应者
注意:用户仍然可以单击文本区域并开始键入,但我尝试的是自动设置第一响应者状态,这样我就不必在开始键入之前单击。我遗漏了什么?要强制第一响应者打开窗口,请调用以下命令:
[[self window] makeFirstResponder:self.customTextContainerView];
这假设第一响应者状态所需的所有其他功能都已启用,例如,视图不能覆盖acceptsFirstResponder以返回编号。要强制第一响应者进入窗口,请调用以下命令:
[[self window] makeFirstResponder:self.customTextContainerView];
这假设第一响应者状态所需的所有其他功能均已启用,例如,视图不能覆盖acceptsFirstResponder以返回编号。我独立找到的解决方案实际上是:在窗口上调用此函数并将容器视图添加为窗口contentView的子视图,而不是将其设置为contentView。我独立找到的解决方案实际上:结果是在窗口上调用此函数,并将my container视图添加为窗口contentView的子视图,而不是将其设置为contentView。