ios - 如何将 UIView 插入 MSMessage?
问题描述
我正在尝试构建一个 iMessage 应用程序,该应用程序允许人们按下一个按钮,将蓝色UIView
插入 iMessage 文本字段。我不确定如何UIView
在 iMessage 文本字段中获取。
我尝试将 转换UIView
为UIImage
,然后将其转换为MSSticker
,但是,我需要贴纸的 URL,并且由于我创建了UIImage
in 代码,因此我没有路径的 URL。
在这里,我创建UIView
:
func createOval() -> UIImage {
let blueOval = UIView(frame: CGRect(x: 5, y: 0, width: 10, height: 10))
blueOval.backgroundColor = .black
let label = UILabel()
label.text = "Hello"
blueOval.addSubview(label)
let image = blueOval.asImage()
return tagImage
}
启用asImage()
转换的扩展:
extension UIView {
func asImage() -> UIImage {
if #available(iOS 10.0, *) {
let renderer = UIGraphicsImageRenderer(bounds: bounds)
return renderer.image { rendererContext in
layer.render(in: rendererContext.cgContext)
}
} else {
UIGraphicsBeginImageContext(self.frame.size)
self.layer.render(in:UIGraphicsGetCurrentContext()!)
let image = UIGraphicsGetImageFromCurrentImageContext()
UIGraphicsEndImageContext()
return UIImage(cgImage: image!.cgImage!)
}
}
}
如何将其UIView
插入 iMessage 文本字段?
解决方案
推荐阅读
- node.js - 如何修复 Windows 上的“npm 不支持 Node.js v11.14.0 错误”?
- r - 在R中找到广义正态分布参数的最大似然估计的问题
- yocto - yocto 自定义收据的 bbappend 修补错误
- javascript - 如何修复气泡图中带有文本的可拖动功能?
- android - 如何使用 dart/flutter 从 API 获取数据?
- html - 不能 POST /ha 使用超过一个 FORM
- c++ - 修改包含 break 语句的 while 循环
- eclipse-clp - 如何编写查询以测试在 ECLiPSe-CLP 中使用 eplex Lib 编写的以下代码
- javascript - .map() 函数中使用扩展运算符隐式返回
- javascript - Scrolling to the bottom of a span automatically with javascript