Текст NSMutableAttributedString уменьшается при достижении правой привязки

#ios #swift #nsmutableattributedstring #nsmutablestring

#iOS #swift #nsmutableattributedstring #nsmutablestring

Вопрос:

Я пытаюсь заставить NSMutableAttributedString возвращать несколько строк, когда текст достигает ширины.

пример

Я думал, что могу использовать numberOfLines, но это доступно только с UILabel?

В идеале текст «Рекомендации сообщества» и «Правила и условия» должны быть указаны в разделе «Установив этот флажок». Как я могу это сделать?

код, который я использую для создания attributedSting, является

 func setupView() {

    let color = UIColor.white
    let font = UIFont.systemFont(ofSize: 20)
    let label = UIButton(type: .system)
    label.backgroundColor = GREEN_Theme
    let attributedTitle = NSMutableAttributedString(string:
    "By checking this box, you agree to our", attributes: [NSAttributedString.Key.foregroundColor:
    color, NSAttributedString.Key.font : font])
    
    attributedTitle.append(NSAttributedString(string: "Community Guidelines", attributes: [NSAttributedString.Key.foregroundColor: UIColor.white, NSAttributedString.Key.font: font]))
    label.addTarget(self, action: #selector(communityGuideLinesAction), for: .touchUpInside)
    label.setAttributedTitle(attributedTitle, for: .normal)
    
    view.addSubview(label)
    let gesture = UITapGestureRecognizer(target: self, action: #selector(didTapCheckBox))
    checkbox.addGestureRecognizer(gesture)

    
    label.anchors(top: registerButton.bottomAnchor, topPad: 0, bottom: nil, bottomPad: 0, left: checkbox.rightAnchor, leftPad: 10, right: nil, rightPad: 0, height: 60, width: 300)
 }
 

Я пытаюсь, чтобы текст выше был похож на текст ниже, но я не знаю, как этого добиться.

изображение 2

После внесения изменений в то, как я решил ограничить атрибут, строка,

Это то, что я вижу.

изображение 2

Ответ №1:

Я думаю, это зависит от вашего дизайна и ограничений, а не от кода, так как вам нужно создать метку с несколькими строками, установив для ее numberOfLines значение 0 , указав ограничения метки: конечные, начальные, нижние и верхние

Комментарии:

1. Я пытался увеличить высоту и уменьшить ширину, но у меня все еще возникают те же проблемы. Могу ли я не использовать NSMutableAttributedString для достижения этой цели?

2. использование конечных, начальных, нижних и верхних ограничений не фиксирует ширину и высоту

3. Я понимаю, что вы говорите. Но я хочу ограничить верхнюю часть attributedText нижней частью кнопки, а затем левую часть текста флажком

4. Я пытался использовать ваше предложение, но оно не работает

5. Почему бы вам не сделать это просто обычной строкой и не сделать ее с выходами, и она будет работать