如果我有UITextView并设置字体大小,比如32。当我运行应用程序时(在模拟器和设备上),我看到一个大的光标和我键入的文本就像我假设的那样出现将。但是,如果我切换表情符号键盘,它们显示小。就像字体的大小从未增加。
我知道这些表情符号字体刻度,因为我在OSX Lion中将它们吹成了巨大的比例,如果我创建一个带有表情符号字符的UIButton作为它的标签并将字体设置为“Apple Color Emoji”和大小到64岁时,它们在我的设备上看起来非常华丽。似乎只是UITextView没有调整它们的大小。
答案 0 :(得分:8)
您是否尝试过将UITextView的字体设置为AppleColorEmoji?在iOS上,似乎AppleColorEmoji是唯一可以绘制按比例放大的表情符号的字体。正如您所注意到的那样,使用任何其他字体,表情符号永远不会超过大约20x20像素。
我使用this handy free app called Fonts!进行了测试,这是获取实际设备本身快速反馈的好方法。
我注意到Game Center应用程序似乎能够将有趣的字体与按比例放大的表情符号混合在一起,所以很明显它可以比(相当于行人的)表情符号字体做得更好!我不知道这在代码中是否有特殊之处,或者它使用的字体有什么特别之处,看起来像是自定义字体。
答案 1 :(得分:-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;