我正在尝试构建一个 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 文本字段?