iphone - 如何在IOS中动态调用类方法?

标签 iphone objective-c ios ipad uicolor

我在 UIColor 中遇到了一个问题.

我将从网络服务中获取颜色名称,例如

Red, Blue, Magenta ....... and so.



我如何使用它设置 View 的背景颜色。

我只能找到具有这些颜色名称([UIColor redColor], [UIColor blueColor], [UIColor magentaColor])的类方法,但我无法编写以编程方式调用这些方法的代码,因为我得到的颜色名称是动态的。

请帮忙.....

谢谢你。

最佳答案

像这样的东西应该工作:

NSString *colorFromWeb = @"Red"; // for example
NSString *selectorName = [NSString stringWithFormat:@"%@Color", [colorFromWeb lowercaseString]];
SEL selector = NSSelectorFromString(selectorName);

if ([UIColor respondsToSelector:selector])
    UIColor *color = [UIColor performSelector:selector]; // Equivalent to [UIColor redColor];

关于iphone - 如何在IOS中动态调用类方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13392564/

相关文章:

iphone - 两个 UIView 之外的最小矩形 - Objective C

ios - 将推送通知角标(Badge)添加到 UIButton

ios - iOS本地通知声音不起作用

ios - UIView transitionFromView 改变 View 高度

css - 为什么我的网站在移动 View 上没有响应?

objective-c - 如何向 objc_exception_throw 添加断点?

iPhone : (id)copyWithZone:(NSZone *)zone : what is "zone" for?

iphone - 攻击者能否破解 iOS 钥匙串(keychain)和数据保护加密?

iphone - 如何将 UILabel 放在 UIToolbar 之上?

ios - 强制应用商店更新