так я пытаюсь реализовать простой английский в фарси словарь в прошивкойДобавление другого выравнивание и размер шрифта для различных линий в одном TextLabel в TableCell быстрых
я хотел бы включить оба слова в одной ячейке таблицы, проблема в том, что английский L> R и farsi R> L, также я хотел бы сделать фарси слово немного больше.
Я создал AttributedMutableString, и я подумал, что я устанавливаю все правильные значения, но похоже, что есть проблема, поскольку она не корректно отображает.
код:
cell.textLabel?.numberOfLines = 0
var myString = "\(englishConvo[indexPath.row])\n\(farsiConvo[indexPath.row])"
var mutableString = NSMutableAttributedString()
var lenOfLang1 = englishConvo[indexPath.row].characters.count
var lenOfLang2 = farsiConvo[indexPath.row].characters.count
let increaseFontSize = UIFont(name: (cell.textLabel?.font.fontName)!, size: (cell.textLabel?.font?.pointSize)! + 5)
let paragraphStyle = NSMutableParagraphStyle()
paragraphStyle.alignment = NSTextAlignment.Right
mutableString = NSMutableAttributedString(string: myString)
mutableString.addAttribute(NSParagraphStyleAttributeName, value: paragraphStyle, range: NSRange(location: lenOfLang1 + 1, length: lenOfLang2))
mutableString.addAttribute(NSFontAttributeName, value: increaseFontSize!, range: NSRange(location: lenOfLang1 + 1, length: lenOfLang2))
cell.textLabel?.attributedText = mutableString
Если я преобразовать в строку, используя этот этот код является то, что я получаю
cell.textLabel?.text = String(mutableString)
Любые мысли/идеи были бы супер оценили
Но если преобразовать в строку вы выбрасываете атрибуты (стайлинга). Разве ты не стреляешь в ногу? – matt
почему вам нужно поместить обе строки в одну метку? У вас может быть две метки в одной ячейке таблицы и получить тот же результат, который вы пытаетесь достичь, но с гораздо большим контролем. – Russell
@ Russell - функция, которую я пытаюсь реализовать, заключается в том, что пользователь может «любить» конкретную слово, так что было бы намного легче выполнить это, если бы все было в одной ячейке. – hnaderi