UIColor verwendet ein 0-1 statt 0-255-System, so dass Sie es gerade brauchen, um zu konvertieren, wie so:
[UIColor colorWithRed:34.0/255.0 green:34.0/255.0 blue:34.0/255.0 alpha:1.0];
aktualisieren
Nach der erneuten Lektüre Ihrer Frage, die ich Ihren wirklichen realisiert Problem wird nicht in UIColor konvertiert, sondern die Werte erhalten. Ich weiß nicht viel über Regex, aber NSScanner ist ein einfaches Objective-C-Objekt, das dasselbe tun kann, wenn auch etwas ausführlicher. Versuchen Sie dies für die Größe. Ich bin mir sicher, dass es sogar bessere Möglichkeiten geben könnte, den NSS-Scanner selbst effizienter zu nutzen, aber das funktioniert definitiv und wird für alle int-Werte funktionieren, die durchkommen.
NSString *backgroundColorString = @"rgb(34, 34, 34)";
NSScanner *scanner = [NSScanner scannerWithString:backgroundColorString];
NSString *junk, *red, *green, *blue;
[scanner scanUpToCharactersFromSet:[NSCharacterSet decimalDigitCharacterSet] intoString:&junk];
[scanner scanUpToCharactersFromSet:[NSCharacterSet punctuationCharacterSet] intoString:&red];
[scanner scanUpToCharactersFromSet:[NSCharacterSet decimalDigitCharacterSet] intoString:&junk];
[scanner scanUpToCharactersFromSet:[NSCharacterSet punctuationCharacterSet] intoString:&green];
[scanner scanUpToCharactersFromSet:[NSCharacterSet decimalDigitCharacterSet] intoString:&junk];
[scanner scanUpToCharactersFromSet:[NSCharacterSet punctuationCharacterSet] intoString:&blue];
UIColor *backgroundColor = [UIColor colorWithRed:red.intValue/255.0 green:green.intValue/255.0 blue:blue.intValue/255.0 alpha:1.0];
MÜSSEN Sie eine RGB-Zeichenfolge wie diese erhalten oder können Sie den tatsächlichen Wert erhalten? –
Ich erhalte diese RGB-Zeichenfolge von einer API, über die ich keine Kontrolle habe. Sie liefern es leider in diesem Format. –
Überprüfen Sie meine Antwort :) Hinzugefügt etwas, das hilft –