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

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

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

Войти через центр авторизации
Похожие вопросы