Я хочу задать свой текст Продано в центр в UIimage. но это не в центре.как рисовать текст в центре для uiimage?
func textToImage(drawText text: NSString, inImage image: UIImage, atPoint point: CGPoint) -> UIImage {
let textColor = UIColor.white
let textFont = UIFont(name: "Helvetica Bold", size: 32)!
let scale = UIScreen.main.scale
UIGraphicsBeginImageContextWithOptions(image.size, false, scale)
let textFontAttributes = [
NSFontAttributeName: textFont,
NSForegroundColorAttributeName: textColor,
] as [String : Any]
image.draw(in: CGRect(origin: CGPoint.zero, size: image.size))
// let rect = CGRect(origin: point , size: image.size)
let rect = CGRect(origin: CGPoint(x:(image.size.width/2), y: (image.size.height/2)), size: image.size)
text.draw(in: rect, withAttributes: textFontAttributes)
let newImage = UIGraphicsGetImageFromCurrentImageContext()
UIGraphicsEndImageContext()
return newImage!
}
функция Вызывающий
imageViewSoldStatus.image = textToImage(drawText: "Sold out", inImage: UIImage(named:"soldout.png")!, atPoint: CGPoint(x: 5.0, y: 5.0))
Я потратил очень много времени, чтобы решить эту проблему, но я не смог найти какое-либо решение.
Красный флаг мое изображение
выше экран я получил. ниже - проект, который я хочу достичь.
обновление
Marie Dm answerd используется! это текст Выровнять центр, но не центр
, где я нашел размер? –
Возможно, вы должны использовать image.size. Я отредактирую свой ответ. –
не работает. Тот же результат –