В моем коде (Swift 2.0 iOS 9) я создал UIScrollView
и добавил UILabel
в ScrollView, чтобы показать большой набор текста. Текст загружается через viewDidLoad()
и загружается из файла в комплекте.Несколько строк в UILabel, не отображающих полный текст
Я использовал numberOfLines = 0
и label.lineBreakMode = .ByWordWrapping
, но только 8 строк текстового шоу. Ниже кода вы увидите изображение результата кода. Я дал цвет UILabel
и UIScrollView
, чтобы показать их границы.
override func viewDidLoad() {
super.viewDidLoad()
self.configureView()
let sv = UIScrollView(frame: self.view.bounds)
sv.autoresizingMask = [.FlexibleWidth, .FlexibleHeight]
self.view.addSubview(sv)
sv.backgroundColor = UIColor.greenColor()
var y: CGFloat = 10
let file = detailItem as! String
if let sectionsFile = NSBundle.mainBundle().pathForResource(file, ofType: "txt") {
if let sectionText = try? String(contentsOfFile: sectionsFile, usedEncoding: nil) {
let label = UILabel()
label.numberOfLines = 0
label.text = sectionText
label.sizeToFit()
label.frame.origin = CGPointMake(10,y)
sv.addSubview(label)
y += label.bounds.size.height + 10
label.lineBreakMode = .ByWordWrapping
label.frame.size.width = self.view.bounds.size.width - 20
label.backgroundColor = UIColor.yellowColor()
label.autoresizingMask = .FlexibleWidth
}
var sz = sv.bounds.size
sz.height = y
sv.contentSize = sz
}
}
Это результаты кода: http://i.stack.imgur.com/Zh4En.png
Что мне нужно сделать, чтобы весь текст, чтобы показать? В качестве альтернативы, есть ли лучший способ достичь той же цели - представить информационный текст?
Вы пытались оправдать текст? это все, что вам нужно сделать imo – Woodstock
, вероятно, вам нужно переместить вызов sizeToFit после другого кода изменения кадра, особенно код для обновления ширины. – Surely
Есть ли у вас ограничения на этикетке? – TheValyreanGroup