2010-01-08 7 views
9

J'ai une chaîne (NSString) dans la chaîne il y a une valeur comme string = @ "black" maintenant je veux utiliser textcolore using la chaîne. J'ai écrit le code ci-dessous. txtView.textColor = [chaîne UIColor];Comment convertir nsstring en uicolor?

Mais cela ne fonctionne pas peut me suggérer?

+0

'txtView.textColor = [string UIColor]' est complètement faux, nous montrer plus de votre code. – Pascal

Répondre

23

Vous pouvez obtenir le sélecteur en utilisant la fonction NSSelectorFromString, puis l'envoyer à UIColor. Vous devez également tester si UIColor est en mesure de répondre au sélecteur, vous devez éviter l'erreur:

SEL blackSel = NSSelectorFromString(@"blackColor"); 
UIColor* tColor = nil; 
if ([UIColor respondsToSelector: blackSel]) 
     tColor = [UIColor performSelector:blackSel]; 
+0

Ceci est parfait pour mon utilisation avec UIColor + Extensions h/m. Mes noms UIColor personnalisés dans cette catégorie peuvent maintenant être ajoutés à mon plist de données. – malaki1974