我不知道如何将 UILabel 转换为 UIImage。[swift]
I do not know how to convert UILabel to UIImage.[swift]
我正在使用 UITextField。
我在 UITextField 中使用键盘输入字符。
当我点击键盘上的 return 按钮时,我将在 UILabel 中显示句子。
我想在 UILabel 中显示字符后将 UILabel 转换为图像。
但是,我不知道如何从 UILabel 转换为图像。
有没有更好的方法?
@IBOutlet var messageLabel: UILabel!
@IBOutlet var messageField: UITextField!
func textFieldShouldReturn(_ textField: UITextField) -> Bool {
messageLabel.text = messageField.text
//Here I would like to convert from UILabel to image.
//UILabel → image
}
您可以创建一个新的 UIImage、messageImage 类型的 IBOutlet,然后将您想要的图像添加到其中。当你想转换标签时,使用 isHidden 函数隐藏 messageLabel 并显示 messageImage。
messageLabel.isHidden = true
messageImage.isHidden = false
您可以使用 UIGraphicsBeginImageContextWithOptions
开始图像上下文,然后您可以使用 UIView
方法 func drawHierarchy(in rect: CGRect, afterScreenUpdates afterUpdates: Bool) -> Bool
在其上绘制标签内容:
let label = UILabel(frame: CGRect(origin: .zero, size: CGSize(width: 200, height: 50)))
label.text = "Whosebug"
label.backgroundColor = UIColor.red.withAlphaComponent(0.2)
label.textColor = .blue
label.textAlignment = .center
label.font = UIFont.boldSystemFont(ofSize: 24)
UIGraphicsBeginImageContextWithOptions(label.bounds.size, false, 0)
label.drawHierarchy(in: label.bounds, afterScreenUpdates: true)
let image = UIGraphicsGetImageFromCurrentImageContext()
UIGraphicsEndImageContext()
我正在使用 UITextField。
我在 UITextField 中使用键盘输入字符。
当我点击键盘上的 return 按钮时,我将在 UILabel 中显示句子。
我想在 UILabel 中显示字符后将 UILabel 转换为图像。
但是,我不知道如何从 UILabel 转换为图像。
有没有更好的方法?
@IBOutlet var messageLabel: UILabel!
@IBOutlet var messageField: UITextField!
func textFieldShouldReturn(_ textField: UITextField) -> Bool {
messageLabel.text = messageField.text
//Here I would like to convert from UILabel to image.
//UILabel → image
}
您可以创建一个新的 UIImage、messageImage 类型的 IBOutlet,然后将您想要的图像添加到其中。当你想转换标签时,使用 isHidden 函数隐藏 messageLabel 并显示 messageImage。
messageLabel.isHidden = true
messageImage.isHidden = false
您可以使用 UIGraphicsBeginImageContextWithOptions
开始图像上下文,然后您可以使用 UIView
方法 func drawHierarchy(in rect: CGRect, afterScreenUpdates afterUpdates: Bool) -> Bool
在其上绘制标签内容:
let label = UILabel(frame: CGRect(origin: .zero, size: CGSize(width: 200, height: 50)))
label.text = "Whosebug"
label.backgroundColor = UIColor.red.withAlphaComponent(0.2)
label.textColor = .blue
label.textAlignment = .center
label.font = UIFont.boldSystemFont(ofSize: 24)
UIGraphicsBeginImageContextWithOptions(label.bounds.size, false, 0)
label.drawHierarchy(in: label.bounds, afterScreenUpdates: true)
let image = UIGraphicsGetImageFromCurrentImageContext()
UIGraphicsEndImageContext()