当前位置: 首页 > 面试题库 >

将Apple Emoji(String)转换为UIImage

彭鸿文
2023-03-14
问题内容

我需要所有苹果表情符号。
我可以通过从 站点getemoji复制它们来获取所有表情符号并将它们放入字符串中,但是在我的应用程序中,我需要按 正确的顺序将表情符号作为图像。

有没有一种很好的方法可以将我复制的表情符号转换为String并转换为UIImage?
还是更好的解决方案,以正确的顺序获取所有Apple表情符号?


问题答案:

为Swift 4.1更新

将此扩展添加到您的项目中

import UIKit

extension String {
    func image() -> UIImage? {
        let size = CGSize(width: 40, height: 40)
        UIGraphicsBeginImageContextWithOptions(size, false, 0)
        UIColor.white.set()
        let rect = CGRect(origin: .zero, size: size)
        UIRectFill(CGRect(origin: .zero, size: size))
        (self as AnyObject).draw(in: rect, withAttributes: [.font: UIFont.systemFont(ofSize: 40)])
        let image = UIGraphicsGetImageFromCurrentImageContext()
        UIGraphicsEndImageContext()
        return image
    }
}

上面的代码将电流绘制String到具有白色背景色的Image Context,最后将其转换为UIImage。

Example

给定一个范围列表,用于指示表情符号符号的unicode值

let ranges = [0x1F601...0x1F64F, 0x2702...0x27B0]

您可以将其转换为图像列表

let images = ranges
    .flatMap { $0 }
    .compactMap { Unicode.Scalar($0) }
    .map(Character.init)
    .compactMap { String($0).image() }

Result:

I cannot guarantee the list of ranges is complete, you’ll need to search for
it by yourself



 类似资料:
  • 问题内容: 我正在开发一些应用程序,它允许从SD卡中选择图像,将其保存到数据库中并为ImageView设置此值。我需要知道将uri转换为字符串并将字符串转换为uri的方法。现在,我使用了Uri的getEncodedPath()方法,但是例如,此代码不起作用: 因此,我不知道如何将Uri保存到数据库中并根据保存的值创建新的Uri。请帮我修复它。 问题答案: 我需要知道将uri转换为字符串并将字符串转

  • 问题内容: 如何从float转换为string或从string转换为float? 在我的情况下,我需要在2个值字符串(我从表中获得的值)和我计算出的浮点值之间进行断言。 我尝试从浮动到字符串: 但是断言失败 问题答案: 使用Java的类。 为了进行比较,将字符串转换为float并比较两个float总是更好。这是因为对于一个浮点数,存在多个字符串表示形式,与字符串相比,它们是不同的(例如“ 25”!

  • 问题内容: 我只想编写这样的代码: 我以为可以代表任何类型,所以也可以代表任何类型,现在我知道我错了,是一个整体类型,不能视为。 因此,有人可以帮助我如何使此代码正常工作,或其他解决方案吗? PS :我知道或可以相互转换,但是实际上这并不是我的意图,可能还有另一种类型,而不是and 。 问题答案: 现在我知道我错了,是一个整体类型,不能视为。 是的,那是因为它是它自己的类型(而不是其他任何类型的“

  • 问题内容: 我将日期以这种格式存储在SQLite数据库中: 当我以这种格式检索日期时,除小时外,其他一切都很好。时间总是如此。这是我的输出: 这是代码: 我究竟做错了什么? 问题答案: 我认为您的日期格式没有意义。没有13:00 PM。删除格式末尾的“ aaa”,或将HH转换为hh。 不过,这对我来说很好: 它将打印“ 2010年4月29日星期四CEST”。

  • 问题内容: 我想将对象转换为 Java。 格式为 问题答案: 转换日期为字符串使用方法:

  • 将转换为的最佳方法是什么?我有下面的代码,我们有更干净的方式吗?

  • 问题内容: 我试图在练习面试问题上取得领先,而我遇到了这个问题: 将String aaaabbbbddd转换为a4b4d3 基本上,您希望将现有的字符串转换为具有每个唯一字符出现次数和该字符出现次数的字符串。 这是我的解决方案,但我认为可以将其完善为更优雅的内容: 有人对解决方案有其他建议吗? 问题答案: 采用代替。尝试将新角色插入地图;如果已经存在,则增加该特定字符的值。 例:

  • 问题内容: 我有一个函数,该函数接受某种类型的对象并向其打印,并输出该对象的表示。如何在字符串中捕获此函数的输出?具体来说,我想将其用作方法。 问题答案: 使用a 作为缓冲区: