我正在做一些轻微或极其错误的事情。
我想将UIColour换成可编程变量,例如:
NSString *DataColourTitle = @"greenColor";
[[UINavigationBar appearance] setTintColor: [UIColor [NSString stringWithFormat: @"%@", DataColourTitle]]];
我在NSString部分遇到了一个预期标识符错误,但没有完成实现此目的所需的格式化。
答案 0 :(得分:1)
调用UIColor的类方法的语法是[UIColor <#some selector#>]
其中&lt; #some selector#&gt;是greenColor
之类的标识符,而不是字符串。它期望的选择器是对可以返回UIColor对象的代码的引用,而@"greenColor"
只是一个静态的,文字的字符串包装为NSString对象。
尝试类似:
SEL green = NSSelectorFromString(@"greenColor");
UIColor *color = [UIColor performSelector:green];
[[UINavigationBar appearance] setTintColor: color];