3

メソッドを作成し、文字列値「redColor」を使用してラベルの UIColor を設定したいと考えています。tableColorName は NSString "redColor" であり、セレクターを適用して UIColor を作成し、それを textLabel に適用しようとしました。ありがとう

-(void) changeLabelColor
{
    SEL labelColor = NSSelectorFromString([NSString stringWithFormat:[@"%@", tableColorName]]);

    UIColor *color = [[UIColor class] performSelector:labelColor];
    self.textLabel.textColor = color;
}
4

1 に答える 1

10

この方法を使用する

-(UIColor *)giveColorfromStringColor:(NSString *)colorname
{
    SEL labelColor = NSSelectorFromString(colorname);
    UIColor *color = [UIColor performSelector:labelColor];
    return color;
}

として呼び出す

[view setBackgroundColor:[self giveColorfromStringColor:@"redColor"]];

メソッド名はcolorname入力として受け取り、対応する UIColor を提供します

したがって、あなたの場合、呼び出しは

self.textLabel.textColor = [self giveColorfromStringColor:@"redColor"];
于 2013-03-17T00:31:32.830 に答える