Получить каждую строку текста в UILabelIOS

Программируем под IOS
Ответить
Гость
 Получить каждую строку текста в UILabel

Сообщение Гость »


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

func getLinesArrayOfStringInLabel(label:UILabel) -> [String] { охранник пусть текст: NSString = label.text как? NSString еще { return [] } пусть шрифт:UIFont = label.font пусть rect:CGRect = label.frame пусть myFont: CTFont = CTFontCreateWithName (font.fontName как CFString, font.pointSize, ноль) let attStr:NSMutableAttributedString = NSMutableAttributedString (строка: текст как строка) attStr.addAttribute(NSAttributedStringKey.font, значение:myFont, диапазон: NSMakeRange(0, attStr.length)) let FrameSetter: CTFramesetter = CTFramesetterCreateWithAttributedString (attStr as CFAttributedString) пусть путь: CGMutablePath = CGMutablePath() path.addRect(CGRect(x: 0, y: 0, ширина: rect.size.width, высота: 100000)) let кадр: CTFrame = CTFramesetterCreateFrame (frameSetter, CFRangeMake (0, 0), путь, ноль) пусть линии = CTFrameGetLines(frame) как NSArray варlinesArray = [String]() для строки в строках { пусть lineRange = CTLineGetStringRange (строка как! CTLine) let range: NSRange = NSMakeRange (lineRange.location, lineRange.length) пусть lineString = text.substring(с: диапазоном) linesArray.append(lineString как строка) } обратные строкиМассив } пусть метка = UILabel() label.numberOfLines = 0 label.frame = CGRect(x: 40, y: 237, ширина: 265, высота: 53) label.font = UIFont.systemFont(ofSize: 22, вес: UIFont.Weight.regular) label.text = "Привет, как дела сегодня?" label.backgroundColor = .red bg.addSubview(метка) print(getLinesArrayOfStringInLabel(метка: метка)) Это распечатывается

["Привет, как дела", "сегодня?"] Но этикетка выглядит вот так:


Изображение


Я ожидал получить ["Привет, как дела", "собираетесь сегодня?"]. Что происходит?
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «IOS»