От макушки головы:
Я считаю, что вы можете использовать нередактируемое поле NSTextField для отображения URL-адреса. Если вы правильно установите атрибуты в NSAttributedString, который вы установили в качестве свойства значения поля, он будет отображаться как стандартный синий с подчеркиванием и обрабатывать отслеживание курсора за вас. В этом разделе вопросов и ответов Apple рассказывается, как установить атрибуты для URL.
Чтобы установить курсор, вы должны использовать метод отслеживания курсора addCursorRect: cursor:
. Однако на самом деле вы должны вызывать этот метод только из метода resetCursorRects
. Если вы сделаете это в любое другое время, это в основном будет проигнорировано.
Таким образом, это означает, что вам нужно создать подкласс NSButton
(или любой другой подкласс NSView
, который вы хотите использовать) и переопределить resetCursorRects
для вызова addCursorRect: cursor:
для границ
всего представления.