gpt4 book ai didi

ios - Swift 中的多色文本

转载 作者:可可西里 更新时间:2023-11-01 01:24:12 33 4
gpt4 key购买 nike

你能帮帮我吗,我试着制作多色文本,但我收到一个 SIGABRT 错误,但绝对不知道它是从哪里来的。这是代码:

class ViewController: UIViewController {    

@IBOutlet weak var ColoredTxt: UILabel!
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view, typically from a nib.
var Timer = NSTimer.scheduledTimerWithTimeInterval(0.1, target: ColoredTxt, selector: Selector("ColoredTxt"), userInfo: nil, repeats: true)

}


@IBAction func Btn(sender: AnyObject) {

let redValue = CGFloat(drand48())
let greenValue = CGFloat(drand48())
let blueValue = CGFloat(drand48())

ColoredTxt.textColor = UIColor(red: redValue, green: greenValue, blue: blueValue, alpha: 1.0)
}


func randomColor() {

let redValue = CGFloat(drand48())
let greenValue = CGFloat(drand48())
let blueValue = CGFloat(drand48())

ColoredTxt.textColor = UIColor(red: redValue, green: greenValue, blue: blueValue, alpha: 1.0)

}
}

最佳答案

你需要这样的东西,使用 NSMutableAttributedString 允许你做这样的事情

enter image description here

这是代码

   func multicolorString(originalString : String) ->NSMutableAttributedString
{
let mutableString = NSMutableAttributedString(string: originalString)

for index in 0..<originalString.characters.count
{
if(index % 2 == 0)
{
mutableString.addAttribute(NSForegroundColorAttributeName, value: UIColor.green, range: NSMakeRange(index, 1))
}else if(index % 3 == 0)
{
mutableString.addAttribute(NSForegroundColorAttributeName, value: UIColor.blue, range: NSMakeRange(index, 1))
}else{
mutableString.addAttribute(NSForegroundColorAttributeName, value: UIColor.red, range: NSMakeRange(index, 1))
}
}

return mutableString
}

然后像这样使用

self.ColoredTxt.attributedText = self.multicolorString("Owner")

希望对你有帮助

关于ios - Swift 中的多色文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42306760/

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