#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)
}
Я пытаюсь, чтобы текст выше был похож на текст ниже, но я не знаю, как этого добиться.
После внесения изменений в то, как я решил ограничить атрибут, строка,
Это то, что я вижу.
Ответ №1:
Я думаю, это зависит от вашего дизайна и ограничений, а не от кода, так как вам нужно создать метку с несколькими строками, установив для ее numberOfLines значение 0 , указав ограничения метки: конечные, начальные, нижние и верхние
Комментарии:
1. Я пытался увеличить высоту и уменьшить ширину, но у меня все еще возникают те же проблемы. Могу ли я не использовать NSMutableAttributedString для достижения этой цели?
2. использование конечных, начальных, нижних и верхних ограничений не фиксирует ширину и высоту
3. Я понимаю, что вы говорите. Но я хочу ограничить верхнюю часть attributedText нижней частью кнопки, а затем левую часть текста флажком
4. Я пытался использовать ваше предложение, но оно не работает
5. Почему бы вам не сделать это просто обычной строкой и не сделать ее с выходами, и она будет работать