@shevzoom
 dev., student at MEPhI

Как удалить разделитель между словами при переходе на новую строку?

617a847bc20c3319112142.jpeg
проблема именно убрать точку, если слова переносятся на новую строку.

let anotherInfo = info
            .compactMap { $0 }
            .filter { !$0.isEmpty }
            .joined(separator: " · ")
            .with(color: .okkoLightWhiteText)
        
        let result = NSMutableAttributedString()
        if rating.length > 0 {
            result += rating
            result += value.displayInfo.rating.count >= 3 ? "\n" : "  "
        }
        result += anotherInfo
        
        return .init(text: result, style: .regularText, numberOfLines: 0)


моя идея была сделать
if anotherInfo.length.words > n {
         ...
         }
        print("\(anotherInfo)")


но anotherInfo - одна строка, составленная из слов из массива строк - info.
не соображу как убрать тогда разделение. Точка по центру как вылазит вначале новой строки или в конце предыдущей. Мб можно создать некое правило?
  • Вопрос задан
  • 289 просмотров
Решения вопроса 1
briahas
@briahas
ObjC, Swift, Python
А вы испробуйте свое приложение на девайсе с другим разрешением экрана.... У вас перенос окажется на другом месте....
Вывод - считать ширину букв, ширину элемента, кол-во букв влазящих в одну строчку, и удалять точку которая не нужна.

....либо - сразу делить текст на две строки, конкатенируя их затем через знак переноса строки.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы