0

私は少しまたは記念碑的に間違ったことをしています。

UIColourをプログラム可能な変数と交換したいのですが、次に例を示します。

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

NSString部分でExpectedIdentifierエラーが発生しましたが、これを実現するために必要なフォーマットが実行されていません。

4

1 に答える 1

1

UIColorのクラスメソッドを呼び出すための構文は次のようになります。<#someselector#>は、文字列ではなく、[UIColor <#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 に答える