Есть ли способ определить координаты конца текста в UILabel?(не прямоугольник рамки метки) - PullRequest
0 голосов
/ 17 мая 2019

Мне нужно поместить некоторое UIView сразу после окончания текста с некоторыми условиями:

Если достаточно места от конца текста до правого края контейнера, поместите представление сразу после.Если нет места - разместите вид сверху.Проблема в том, что это должно работать и для второй строки.

Вот иллюстрация: UILabel ends

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

Знаете ли вы API TextKit или какой-то трюк для достижения этой целицель?

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

Весь вопрос: как получить ширину (фрейм) текста во второй строке UILabel / UITextView?

1 Ответ

1 голос
/ 17 мая 2019

Я нашел что-то для тебя.пожалуйста, отошлите этот ответ .это может помочь вам.

этот ответ имеет алгоритм, который возвращает длину NSString, которая может вписаться в UILabel.и с его помощью вы можете найти текст первой строки.

После этого вы можете легко найти фактический размер второй строки на основе оставшегося текста.

...