提问者:小点点

将NSAttributedString(FONT/COLOR)插入UITextField的IBaction


我是个反应很快的新手,我希望有人能帮忙。

我想通过一个按钮将具有新颜色和字体的文本插入到文本字段(使用另一种颜色和字体的文本)中。 不删除字段中的原始文本或更改其字体或颜色。

我已经设法插入文本想到按钮,但没有使用nsattributedString。 不知道IBAction中的代码是否工作,请在哪里放置:

让attributedTest=NSAttributedString

    let test = "Testing here"
    let attributes: [NSAttributedString.Key: Any] = [
        .font: UIFont(name:"AvenirNext-Italic", size: 40)!,
        .foregroundColor: UIColor.red,
    ]

    let attributedTest = NSAttributedString(string: test, attributes: attributes as [NSAttributedString.Key : Any])


    @IBAction func justTesting(_ sender: UIButton) {
        noteTextView.text = noteTextView.text! + String(attributedTest)
    }

共1个答案

匿名用户

您可以使用此扩展来追加属性化字符串

extension NSMutableAttributedString{
    func getAttributedStringByAppending(attributedString:NSMutableAttributedString) -> NSMutableAttributedString{
        let newAttributedString = NSMutableAttributedString()
        newAttributedString.append(self)
        newAttributedString.append(attributedString)
        return newAttributedString
    }
}

@IBAction func justTesting(_ sender: UIButton) {
    let noteTextView = UITextView()
    noteTextView.text = NSMutableAttributedString(string:  noteTextView.text).getAttributedStringByAppending(attributedString: attributedTest)
}