Aby to zrobić, należy utworzyć podklasę NSTextView, i zastąpić -becomeFirstResponder tak:
- (BOOL)becomeFirstResponder
{
BOOL returnValue = [super becomeFirstResponder];
if (returnValue) {
//do something here when this becomes first responder
}
return returnValue;
}
Można założyć NSNotification w if powyżej tak, że podczas tej blok kodu zostanie uruchomiony, twój widok zawierający NSBox może zostać wywołany, a następnie narysować pierścień ostrości na NSBox. Aby poradzić sobie z NSTextView traci ostrość, będziemy chcieli, aby zastąpić -resignFirstResponder, tak:
- (BOOL)resignFirstResponder
{
BOOL returnValue = [super resignFirstResponder];
if(returnValue){
//do something when resigns first responder
}
return returnValue;
}
Pamiętaj, aby zmienić klasę interfejsu konstruktora i zmienić typ klasy w nagłówku i/lub pliki z realizacją twoja nowa podklasa NSTextView: