gpt4 book ai didi

ios - swift : Append Characters in Attributed String

转载 作者:可可西里 更新时间:2023-11-01 00:52:47 25 4
gpt4 key购买 nike

我想改变字符串中所有字符的颜色。但是我的代码只给出了字符串中的最后一个字符。我想在属性字符串中 append 字符。我该怎么做?

我的代码:

func test(){
var str:String = "test string"

for i in 0...count(str)-1{
var test = str[advance(str.startIndex, i)]
var attrString = NSAttributedString(string: toString(test), attributes: [NSForegroundColorAttributeName: rainbowColors()])
label.attributedText = attrString
}
}

最佳答案

在这种情况下,如果您希望每个字符都具有相同的彩虹色,则无需 append 字符。您可以执行以下操作:

label.attributedText = NSAttributedString(string: str, attributes: [NSForegroundColorAttributeName: rainbowColors()])

如果你想 append 字符你需要使用 NSMutableAttributedString。它有一个称为追加的方法。

鉴于您想要为每个索引使用不同的颜色,请执行以下操作:

var str:String = "test string"

var attributedString = NSMutableAttributedString()
for (index, character) in enumerate(str) {
attributedString.appendAttributedString(NSAttributedString(string: String(character), attributes: [NSForegroundColorAttributeName: colorForIndex(index)]))
}

label.attributedText = attributedString

colorForIndex 是您需要实现的函数,以获取特定索引的彩虹色

func colorForIndex(index: Int) -> UIColor {
let color = // your function to get the color
return color
}

如果您需要帮助来实现该功能,请查看这个问题 iOS rainbow colors array

关于ios - swift : Append Characters in Attributed String,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31643488/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com