Я вижу только два способа сделать это.
1. Если у вас есть одна строка UILabel
, тогда вы можете поместить свою кнопку рядом с ней, используя AutoLayout
.
2. Если у вашего ярлыка есть или может быть несколько строк, я бы посоветовал вам использовать один UITextView
вместо UILabel
и UIButton
.Настройте вид текста, а затем добавьте любой текст, который вы хотите, в качестве кликабельного окончания, используя следующий метод.Просто убедитесь, что вы установили textView.isEditable
на false
.
func addReadMore(at textView: UITextView) {
let originalString = textView.text + " "
let readMoreLine = "Read more..."
let attributedString = NSMutableAttributedString(string: originalString + readMoreLine)
let range = NSRange(location: originalString.count, length: readMoreLine.count)
attributedString.addAttribute(.link, value: "readMorePressed", range: range)
textView.attributedText = attributedString
}
. Затем вы должны сделать свой ViewController
a UITextView
делегат и реализовать следующий метод.
public func textView(_ textView: UITextView, shouldInteractWith URL: URL, in characterRange: NSRange, interaction: UITextItemInteraction) -> Bool {
if URL.absoluteString == "readMorePressed" {
// show more content
}
return true
}
Надеюсь, это поможет.