Ich möchte meinen Text Ausverkauft in der Mitte in UIimage. aber es ist nicht in der Mitte.Wie zeichne Text in der Mitte zu 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!
}
CLIP-Funktion
imageViewSoldStatus.image = textToImage(drawText: "Sold out", inImage: UIImage(named:"soldout.png")!, atPoint: CGPoint(x: 5.0, y: 5.0))
Ich habe sehr lange Zeit damit verbracht, dieses Problem zu lösen, aber ich konnte keine Lösung nicht finden.
Rote Fahne mein Bild
oben ist der Bildschirm I erhalten. unten ist das Design, das ich erreichen möchte.
Update
Marie Dm answerd verwendet! es ist Mitte Text align aber nicht Bildmitte
wo i Größe gefunden? –
Sie sollten wahrscheinlich image.size verwenden. Ich werde meine Antwort bearbeiten. –
nicht funktioniert .. das gleiche Ergebnis –