Я пытаюсь добавить удобный инициализатор к UIImage
, который позволит мне создать изображение с заданным текстом в центре и заданным цветом фона:
У меня естьследующий код:
public convenience init?(color: UIColor, withText: String, withTextColor: UIColor, size: CGSize = CGSize(width: 1, height: 1)) {
let rect = CGRect(origin: .zero, size: size)
UIGraphicsBeginImageContextWithOptions(rect.size, false, 0.0)
color.setFill()
UIRectFill(rect)
let image = UIGraphicsGetImageFromCurrentImageContext()
UIGraphicsEndImageContext()
let label = UILabel()
label.text = withText
label.textAlignment = .center
label.font = UIFont.boldSystemFont(ofSize: 40)
label.textColor = withTextColor
guard let cgImage = image?.cgImage else { return nil }
self.init(cgImage: cgImage)
}
Это создает изображение с правильным цветом фона - хотя я не уверен, как вставить UILabel
в середину изображения.
РЕДАКТИРОВАТЬ