Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/cocoa/3.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 如何在objective-c中的子NSTextView焦点上围绕NSBox绘制焦点环_Cocoa_Nstextview_Nsbox_Focusrect - Fatal编程技术网

Cocoa 如何在objective-c中的子NSTextView焦点上围绕NSBox绘制焦点环

Cocoa 如何在objective-c中的子NSTextView焦点上围绕NSBox绘制焦点环,cocoa,nstextview,nsbox,focusrect,Cocoa,Nstextview,Nsbox,Focusrect,我在NSBox中有一个NSTextView。每当NSTextView获得焦点时,我想在NSBox周围绘制焦点环,并在NSTextView失去焦点时移除焦点环 谢谢,为此,请创建NSTextView的子类,并重写-becomeFirstResponder,如下所示: - (BOOL)becomeFirstResponder { BOOL returnValue = [super becomeFirstResponder]; if (returnValue) { //

我在NSBox中有一个NSTextView。每当NSTextView获得焦点时,我想在NSBox周围绘制焦点环,并在NSTextView失去焦点时移除焦点环


谢谢,

为此,请创建NSTextView的子类,并重写-becomeFirstResponder,如下所示:

- (BOOL)becomeFirstResponder
{
    BOOL returnValue = [super becomeFirstResponder];
    if (returnValue) {
        //do something here when this becomes first responder
    }

    return returnValue;
}
- (BOOL)resignFirstResponder
{
    BOOL returnValue = [super resignFirstResponder];
    if(returnValue){
        //do something when resigns first responder

    }
    return returnValue;
}
您可以在上面的if语句中设置,以便在运行代码块时,可以调用包含NSBox的视图,然后在NSBox上绘制一个焦点环。要处理NSTextView失去焦点的问题,您需要覆盖-resignFirstResponder,如下所示:

- (BOOL)becomeFirstResponder
{
    BOOL returnValue = [super becomeFirstResponder];
    if (returnValue) {
        //do something here when this becomes first responder
    }

    return returnValue;
}
- (BOOL)resignFirstResponder
{
    BOOL returnValue = [super resignFirstResponder];
    if(returnValue){
        //do something when resigns first responder

    }
    return returnValue;
}
确保在interface builder中更改类,并将头文件和/或实现文件中的类类型更改为NSTextView的新子类: