Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/silverlight/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Cocoa NSTextView不会成为第一响应者_Cocoa_Nstextview_First Responder - Fatal编程技术网

Cocoa NSTextView不会成为第一响应者

Cocoa NSTextView不会成为第一响应者,cocoa,nstextview,first-responder,Cocoa,Nstextview,First Responder,以下是我的小测试应用程序的布局: AppDelegate拥有WindowController。 WindowController拥有CustomTextContainerView。 CustomTextContainerView拥有一个NSScrollView,它将MyCustomTextView嵌入到一个NSTextView子类中。 标准主菜单和我的窗口控制器的XIB都相对空。我的窗口控制器的-windowDidLoad如下所示: - (void)windowDidLoad { [su

以下是我的小测试应用程序的布局:

AppDelegate拥有WindowController。 WindowController拥有CustomTextContainerView。 CustomTextContainerView拥有一个NSScrollView,它将MyCustomTextView嵌入到一个NSTextView子类中。 标准主菜单和我的窗口控制器的XIB都相对空。我的窗口控制器的-windowDidLoad如下所示:

- (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。