如何分配NSString UIColor

lif*_*son 0 iphone objective-c nsstring uicolor

有没有办法可以像往常一样将UIColor分配给NSString

cell.textLabel.text = [UIColor grayColor];
Run Code Online (Sandbox Code Playgroud)

我正在尝试为以下字符串添加颜色,如:

NSString *text = @"Hello"
[text setColor:[UIColor grayColor]; // It gives error here saying it cannot assign
Run Code Online (Sandbox Code Playgroud)

有没有其他方法可以为NSString分配颜色?

Chu*_*uck 6

NSString只是一串字符.它没有颜色,字体,重量,大小,样式或任何东西 - 只是字符.您将要使用NSAttributedString.

但请记住,NSAttributedString不是NSString - 它基本上是一个轻量级容器,它将字符串与属性字典配对并提供适当的绘图代码.特别是,您无法将NSAttributedString传递给期望字符串的API.您要么必须拥有一个采用NSAttributedString的API,要么自己绘制字符串.