我需要获取导航栏标题的文字颜色。
我知道如何设置它:
self.navigationController.navigationBar.titleTextAttributes = ...
然而,我似乎无法找到任何实际上获得颜色而不是设置颜色的东西。我尝试过使用:
NSLog(@"%@", self.navigationController.navigationBar.titleTextAttributes);
打印出包含titleTextAttributes
的字典。其中的一个条目具有键NSColor
,但是,它的值似乎与文本的颜色实际上不匹配。此输出类似于:
{
NSColor = "UIDeviceWhiteColorSpace 1 1";
NSFont = "<UICTFont: 0x7fa23be1df60> font-family: \"HelveticaNeue\"; font-weight: normal; font-style: normal; font-size: 24.00pt";
}
任何人都知道如何检索此信息?
答案 0 :(得分:0)
我上面写的用于检索我认为不起作用的颜色的方法 实际上是正确的。那就是:
NSDictionary *titleTextAttributes = self.navigationController.navigationBar.titleTextAttributes;
这将检索其中包含titles文本属性的字典。
此词典中的一个条目具有键NSColor
,其值是文本的实际颜色。这可以使用以下方式专门检索:
UIColor *textColor = [self.navigationController.navigationBar.titleTextAttributes objectForKey:@"NSColor"];
注意:强>
黑色和白色分别列为UIDeviceWhiteColorSpace 0 1
或UIDeviceWhiteColorSpace 1 1
。不要混淆,因为我的名字都有“白色”。
感谢rmaddy指出这一点。