• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

iOS 应用程序 - 表情符号字符字体大小

[复制链接]
菜鸟教程小白 发表于 2022-12-12 17:00:11 | 显示全部楼层 |阅读模式 打印 上一主题 下一主题

我有一个应用程序,我在其中为我的 UILabel 使用具有 60.0 像素字体大小的 Helvetic 字体。当有人输入带有表情符号字符的文本时,就会出现问题。整个文本以 60.0 像素字体大小呈现,但表情符号字符未缩放。

附:我不想在普通文本中使用 AppleColorEmoji 字体。我不能使用 NSAttributedString,因为我的应用支持 iOS 5。



Best Answer-推荐答案


如果您设置 UITextViews contentScaleFactor,然后使用 CGTransform 缩放文本字段,您可以使用任何字体缩放表情符号。 (您甚至可以将它们放大(具有高分辨率)比 AppleColorEmoji 默认允许的尺寸更大。

因此,只需将您的 helvetic 字体大小设置为与 helvetica 中 emoji 的默认字体大小(可能是 12.0f)相匹配,然后将您的比例因子和分辨率因子设置为 2.0f,并使您的 textView 的宽度和高度(帧)为 1/2通常是什么,然后运行下面的代码,最终的产品将是一个 textView,它的框架大小合适,你的字体大小是你设置的两倍(现在是 24.0f pt 字体(包括 EMOJIS))和分辨率对于你的字体(文本)和你的表情符号来说都是非常清晰的,就好像它们一直都是那个大小一样!)

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;

关于iOS 应用程序 - 表情符号字符字体大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20348232/

回复

使用道具 举报

懒得打字嘛,点击右侧快捷回复 【右侧内容,后台自定义】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关注0

粉丝2

帖子830918

发布主题
阅读排行 更多
广告位

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap