我尝试在iOS上显示没有表情符号的unicode字符。 我读了this article,但是当我尝试一些例子时,结果就像:
我输出下一个代码:
str1 = "\u{25B6}\u{0000FE0E} "
str2 = "\u{25B6} "
str3 = "\u{1F310}\u{0000FE0E} "
str4 = "\u{1F310} "
我该如何解决这个问题?我希望它会返回原始的白黑色unicode字符。
答案 0 :(得分:1)
我找不到合适的解决方案,但是为了获得灰度图像(在我的情况下为UIButton的背景图像),我们可以绘制这个角色并在其上使用滤色器。
var text = NSString(string: "\u{1F310}")
var font = UIFont.systemFontOfSize(22)
var size = text.sizeWithAttributes([NSFontAttributeName : font])
UIGraphicsBeginImageContext(size)
text.drawAtPoint(CGPointMake(0.0, 0.0), withAttributes: [NSFontAttributeName : font])
var symbolRawImage = UIGraphicsGetImageFromCurrentImageContext()
UIGraphicsEndImageContext()
UIGraphicsBeginImageContext(symbolRawImage.size)
var fillCtx = UIGraphicsGetCurrentContext()
//Chose color for that sign
textColor.setFill()
CGContextTranslateCTM(fillCtx, 0, symbolRawImage.size.height)
CGContextScaleCTM(fillCtx, 1.0, -1.0)
CGContextSetBlendMode(fillCtx, kCGBlendModeNormal)
var fillRect = CGRectMake(0, 0, symbolRawImage.size.width, symbolRawImage.size.height)
CGContextDrawImage(fillCtx, fillRect, symbolRawImage.CGImage)
CGContextClipToMask(fillCtx, fillRect, symbolRawImage.CGImage);
CGContextAddRect(fillCtx, fillRect);
CGContextDrawPath(fillCtx,kCGPathFill);
var outputImage = UIGraphicsGetImageFromCurrentImageContext()
UIGraphicsEndImageContext()
所以现在我们可以选择正确的颜色。
答案 1 :(得分:0)
str1 =@"\u25c0\U0000FE0E";
适合我。