0

我正在做一些轻微或严重错误的事情。

我想将 UIColour 换成可编程变量,例如:

NSString *DataColourTitle = @"greenColor";
[[UINavigationBar appearance] setTintColor: [UIColor [NSString stringWithFormat: @"%@", DataColourTitle]]];

我在 NSString 部分收到一个 Expected Identifier 错误,并且没有制定完成此操作所需的格式。

4

1 回答 1

1

调用 UIColor 的类方法的语法是[UIColor <#some selector#>]其中 <#some selector#> 是标识符,例如greenColor,而不是字符串。它所期望的选择器是对可以返回 UIColor 对象的代码的引用,而@"greenColor"只是一个静态的、被包装为 NSString 对象的字面字符串。

尝试类似:

SEL green = NSSelectorFromString(@"greenColor");
UIColor *color = [UIColor performSelector:green];
[[UINavigationBar appearance] setTintColor: color];
于 2012-11-01T12:44:24.100 回答