Хмммм ... это звучит довольно сложно.
NSTextField делает довольно похожие вещи, поскольку не имеет своих собственных средств редактирования, а скорее делегирует их "редактору полей" родительского окна, который является экземпляромневидимый NSTextView.Вы также получаете много поведения NSTextView без окна в NSText.
Это может стоит проверить, как NSTextFields делегирует редактору полей и посмотреть, можете ли вы подключиться к редактору полейтаким же образом, вместо того, чтобы делать keyDown: events.
Другой возможностью может быть создание невидимого NSTextView и делегирование каждого нажатия клавиши для него, а затем отображение NSTextStorage, связанного с ним, в вашем собственном представлении.
Звучит так, будто вас мучает небольшая боль, но я бы начал с изучения.
Конечно, я не являюсь мастером текстовой подсистемы Какао ..
Iнадеюсь, это поможет.