
Nsstring *regExString = @"(.*?)rgb\((\d+),(\d+),(\d+)\)";NSError *error = nil;NSRegularExpression *regEx = [NSRegularExpression regularExpressionWithPattern:regExString options:NSRegularExpressionCaseInsensitive error:&error];NSArray *matches = [regEx matchesInString:backgroundcolorString options:NSRegularExpressionCaseInsensitive range:NSMakeRange(0,backgroundcolorString.length)];
如果有人可以把方向发送给我,那将是巨大的.
解决方法 UIcolor使用0-1而不是0-255系统,所以你只需要像这样转换它:[UIcolor colorWithRed:34.0/255.0 green:34.0/255.0 blue:34.0/255.0 Alpha:1.0];
更新
重读你的问题后,我意识到你真正的问题不是转换为UIcolor,而是获取价值.我不太了解正则表达式,但NSScanner是一个简单的Objective-C对象,可以做同样的事情,尽管更详细.尝试这个大小.我相信可能会有更好的方法,甚至可能更有效地使用NSScanner本身,但这绝对有效,将适用于任何通过的int值.
Nsstring *backgroundcolorString = @"rgb(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];总结
以上是内存溢出为你收集整理的ios – rgb(34,34,34)到UIColor全部内容,希望文章能够帮你解决ios – rgb(34,34,34)到UIColor所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)