8

如果我有 UITextView 并将字体大小设置为 32。当我运行应用程序(在模拟器和设备上)时,我看到一个大光标和我输入的文本,就像我假设的那样。但是如果我切换表情符号键盘,它们会显示得很小。就像字体的大小从未增加一样。

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

4

2 回答 2

8

您是否也尝试将 UITextView 的字体设置为 AppleColorEmoji?在 iOS 上,AppleColorEmoji 似乎是唯一可以绘制放大表情符号的字体。如您所见,使用任何其他字体,表情符号永远不会超过 20x20 像素。

我使用这个名为 Fonts 的方便的免费应用程序进行了测试!,这是获得有关实际设备本身的快速反馈的好方法。

我注意到 Game Center 应用程序似乎能够将有趣的字体与放大的表情符号混合在一起,所以很明显它可能比(相当普通的)表情符号字体做得更好!不过,我不知道这是否是它的代码中的特殊之处,或者它使用的字体有什么特殊之处,它看起来像一个自定义字体。

于 2012-08-23T01:06:02.217 回答
-1

您可以使用任何字体缩放表情符号,即设置 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;
于 2014-12-07T02:36:18.977 回答