Для этого создайте подкласс NSTextView и переопределите -becomeFirstResponder следующим образом:
- (BOOL)becomeFirstResponder
{
BOOL returnValue = [super becomeFirstResponder];
if (returnValue) {
//do something here when this becomes first responder
}
return returnValue;
}
Вы можете настроить NSNotification в приведенном выше операторе if, чтобы приэтот блок кода запускается, ваш вид, содержащий NSBox, может быть вызван и впоследствии нарисовать кольцо фокусировки на NSBox.Чтобы справиться с потерей фокуса NSTextView, вам нужно переопределить -resignFirstResponder, например так:
- (BOOL)resignFirstResponder
{
BOOL returnValue = [super resignFirstResponder];
if(returnValue){
//do something when resigns first responder
}
return returnValue;
}
Обязательно измените класс в конструкторе интерфейса и измените тип вашего класса в заголовке и / или реализациифайлы для вашего нового подкласса NSTextView: