Я создаю NSTextView
, и я хочу изменить размер точки вставки, когда NSTextView пуст.NSTextView Изменение точки вставки (Caret) Размер курсора, когда нет строки
Похоже, что курсор курсора (I-Beam/IBeam cursor) основан на атрибуте текущего размера шрифта на свойстве attributedString
объекта NSTextView
.
Проблема в том, что поскольку NSTextView
имеет пустой attributedString
, в строке не может быть никаких атрибутов. Это означает, что я не могу применить размер шрифта.
Однако, я могу изменить typingAttributes
иметь FONTSIZE быть correct-- но Точка вставки Курсор не изменяет размер, пока я не начать печатать
Смотрите эти скриншоты: Обратите внимание, здесь TextView на право имеет маленькая точка вставки курсора:
Я начинаю печатать, и он обновляет в размере:
Так что мой Цюй estion есть, есть ли свойство, которое мне нужно установить на NSTextView
, когда я его инициализирую, чтобы получить начальный курсор точки вставки правильного размера? (Я хочу, чтобы соответствовать шрифт typingAttributes
)
EDIT: @Mark Bessey воспитан хороший question-- что такое порядок, в котором я устанавливаю ввод атрибутов:
[_textEditor setTypingAttributes:typingAttributes];
[_textEditor setDelegate:self];
[view addSubview:_textEditor];
[self updateInsertionPointColor];
[[view window] makeFirstResponder:_textEditor];
[view setNeedsDisplay:YES];
Спасибо за ответ, я ценю, что вы сделали тестовое приложение (я должен был сделать это сам, чтобы подтвердить). Я редактировал свой вопрос с соответствующим кодом, который показывает порядок операций –