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 回答