Я не думаю, что есть простой способ сделать это, если вы хотите, чтобы это произошло в событии mouseDown. Если вы можете подождать, пока щелчок не будет завершен, то вы можете сделать это с помощью метода делегата текстового представления textView: clickedOnLink: atIndex: получить индекс ссылки, по которой щелкнули. Затем вы могли бы использовать этот индекс для передачи в метод хранения текста attributeAtIndex :ffectiveRange: чтобы получить диапазон ссылки и, наконец, использовать setAttributes: range:, чтобы внести любые необходимые изменения в атрибуты ссылки.
Если вам действительно нужно сделать это с помощью mouseDown, вам придется разделить текстовое представление на подклассы и переопределить mouseDown и, возможно, использовать что-то вроде characterIndexForPoint: чтобы узнать, нажали ли вы ссылку и ответили, как указано выше.