Размещение текста в NSTextView вокруг подпредставления

То, что я пытаюсь сделать, это иметь NSTextView и добавлять к нему пользовательские подпредставления NSView, но иметь его, чтобы текст мог размещаться вокруг подпредставлений.

Прямо сейчас я могу легко добавить подпредставление к текстовому представлению, но, конечно, это входит в текстовое представление, и текст не знает о подпредставлениях, поэтому он просто перебирает / скрывает подпредставление. Не то, что я хотел бы, конечно.

Поэтому я хотел бы иметь возможность добавлять свои собственные представления, по крайней мере, в "блоке" (например, когда элемент HTML является элементом блока, то есть в отдельной строке), а также, может быть, "встроенным" (то есть subview в соответствии с текстом, точно так же, как HTML-элемент может быть встроенным), хотя это не обязательно.

Я не могу понять, как заставить это работать. Единственный способ, которым я видел, что вещи могут быть добавлены в текстовое представление, это с помощью текстовых вложений, но они, похоже, относятся только к изображениям / файлам и только в NSCell, который не содержит (насколько мне известно) произвольный NSView.

Я чувствую, что это должно быть возможно, хотя, с чего мне начать?

0 ответов

Я знаю, что прошло довольно много времени с тех пор, как этот вопрос был опубликован, но недавно я столкнулся с той же проблемой и нашел решение очень простым.

Просто добавьте путь исключения к NSTextViewКонтейнер, который выполняется как в Swift:

// Where 'subview' is the view you would like to avoid drawing text over
let exclusionPath = NSBezierPath(rect: subview.frame)
self.textContainer?.exclusionPaths.append(exclusionPath)
Другие вопросы по тегам