在iOS 5.x的UITextView中增加表情字符的字体大小

如果我有UITextView并将字体大小设置为32.当我运行应用程序(在模拟器和设备上),我看到一个大的光标和我键入的文本就像我认为会出现。 但是,如果我切换表情符号键盘,他们显示小。 像字体的大小从来没有增加。

我知道这些表情符号字体的缩放比例,因为我在OSX Lion中把它们吹到了巨大的比例,如果我用表情符号创build一个UIButton作为标签,并将字体设置为“Apple Color Emoji”,字体大小为64,他们在我的设备上看起来非常漂亮。 看来只是UITextView没有调整它们的大小。

你有没有尝试将UITextView的字体设置为AppleColorEmoji? 在iOS上,似乎AppleColorEmoji是唯一可以绘制放大的表情符号的字体。 使用任何其他字体,并且表情符号不会超过大约20×20像素,正如您已经注意到的那样。

我做了我的testing使用这个方便的免费应用程序称为字体! ,这是获得实际设备本身的快速反馈的好方法。

我注意到,游戏中心应用程序似乎能够混合一个有趣的字体和放大的表情符号,所以显然它可能比(而非行人)表情符号字体更好! 我不知道这是否是代码中的特殊内容,或者是它使用的特殊字体,看起来像是自定义字体。

您可以使用任何字体缩放emojis您设置UITextViews contentScaleFactor,然后使用CGTransform缩放文本字段。 (你甚至可以将它们放大(高分辨率)比AppleColorEmoji允许你默认去。

float scaleFactor = 2.0f; float resolutionFactor = 2.0f; CGPoint tempCenter = theTextView.center; theTextView.contentScaleFactor *= resolutionFactor; theTextView.layer.contentsScale *= resolutionFactor; for (UIView *subview in [theTextView subviews]) { subview.contentScaleFactor *= resolutionFactor; subview.layer.contentsScale *= resolutionFactor; } theTextView.transform = CGAffineTransformScale(CGAffineTransformIdentity, scaleFactor, scaleFactor); theTextView.center = tempCenter;