UILabel не будет отображаться в несколько строк - PullRequest
0 голосов
/ 09 мая 2018

Это мой UILabel:

let lblTitle: UILabel = {
    let lbl=UILabel()
    lbl.textColor=UIColor.darkGray
    lbl.textAlignment = .center
    lbl.font = UIFont.systemFont(ofSize: 36)
    lbl.lineBreakMode = .byWordWrapping
    lbl.numberOfLines=0
    lbl.translatesAutoresizingMaskIntoConstraints=false
    return lbl
}()

Я добавил lineBreakMode и установил numberOfLines=0, который должен был включить мультилинию. Мой взгляд добавлен программно:

scrollView.leftAnchor.constraint(equalTo: view.leftAnchor).isActive = true
scrollView.topAnchor.constraint(equalTo: view.topAnchor).isActive = true
scrollView.rightAnchor.constraint(equalTo: view.rightAnchor).isActive = true
scrollView.bottomAnchor.constraint(equalTo: view.topAnchor).isActive = true

scrollView.addSubview(lblTitle)
lblTitle.text="Testing testing testing testing"
lblTitle.topAnchor.constraint(equalTo: scrollView.topAnchor).isActive=true
lblTitle.centerXAnchor.constraint(equalTo: self.view.centerXAnchor).isActive=true

scrollView.addSubview(btnGetChoose)
btnGetChoose.heightAnchor.constraint(equalToConstant: 50).isActive=true
btnGetChoose.widthAnchor.constraint(equalToConstant: 150).isActive=true
btnGetChoose.centerXAnchor.constraint(equalTo: self.view.centerXAnchor).isActive=true
btnGetChoose.topAnchor.constraint(equalTo: lblTitle.bottomAnchor, constant: 10).isActive=true

Почему мой UILabel не будет отображаться в несколько строк?

Ответы [ 3 ]

0 голосов
/ 09 мая 2018

Решил эту проблему, установив ведущий / конечный якорь метки, как предложено @ keithbhunter

lblTitle.text="Testing testing testing testing"
lblTitle.topAnchor.constraint(equalTo: scrollView.topAnchor).isActive=true
lblTitle.centerXAnchor.constraint(equalTo: self.view.centerXAnchor).isActive=true
lblTitle.leftAnchor.constraint(equalTo: scrollView.leftAnchor, constant: 12).isActive=true
lblTitle.rightAnchor.constraint(equalTo: scrollView.rightAnchor, constant: -12).isActive=true
0 голосов
/ 09 мая 2018

Вы должны установить ширину или начальную и конечную, чтобы обернуть

lblTitle.widthAnchor.constraint(equalToConstant: self.view.frame.width / 2).isActive=true
0 голосов
/ 09 мая 2018

Заменить equal to на greater than or equal to.

Попробуйте это

lblTitle.heightAnchor.constraint(greaterThanOrEqualToConstant: 50).isActive=true

Также обратите внимание, что вы должны использовать ведущие и конечные якоря (или ограничение ширины), чтобы обеспечить размер контента для своего супер просмотра (scrollview).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...