У меня есть UILabel
с текстом RTL Arabi c внутри. Все выглядит правильно, пока я не изменяю lineBreakMode
. Мне нужно его обрезать вместо byTruncatingTail
, чтобы не показывать символ эллипса, так как я пытаюсь показать градиентную маску на левом краю.
Я пытался изменить contentMode
, alignment
et c но ничего не помогает. Правая сторона надписи, кажется, начинает текст где-то посередине, а не с начала (т. Е. Самый правый символ в тексте).
Это то, что я вижу с lineBreakMode = .byClipping
И вот что я вижу, когда убираю lineBreakMode
Вот код
let arabicLabel = UILabel(frame: .zero)
arabicLabel.semanticContentAttribute = .forceRightToLeft
arabicLabel.numberOfLines = 1
//arabicLabel.lineBreakMode = .byClipping
arabicLabel.text = "عِنْدَمَا1 عِنْدَمَا2 عِنْدَمَا3 عِنْدَمَا4 عِنْدَمَا5 عِنْدَمَا6 قَدِمْتُ عَلَى (صَاحِبِي) عِنْدَمَا7 عِنْدَمَا8 عِنْدَمَا9 عِنْدَمَا10 عِنْدَمَا عِنْدَمَا قَدِمْتُ عَلَى (صَاحِبِي)"
arabicLabel.translatesAutoresizingMaskIntoConstraints = false
contentView.addSubview(arabicLabel)