Swift Language
UIImage von Initialen aus String generieren
Suche…
Einführung
Dies ist eine Klasse, die einen UIImage der Initialen einer Person generiert. Harry Potter würde ein Bild von HP erzeugen.
InitialsImageFactory
class InitialsImageFactory: NSObject {
class func imageWith(name: String?) -> UIImage? {
let frame = CGRect(x: 0, y: 0, width: 50, height: 50)
let nameLabel = UILabel(frame: frame)
nameLabel.textAlignment = .center
nameLabel.backgroundColor = .lightGray
nameLabel.textColor = .white
nameLabel.font = UIFont.boldSystemFont(ofSize: 20)
var initials = ""
if let initialsArray = name?.components(separatedBy: " ") {
if let firstWord = initialsArray.first {
if let firstLetter = firstWord.characters.first {
initials += String(firstLetter).capitalized
}
}
if initialsArray.count > 1, let lastWord = initialsArray.last {
if let lastLetter = lastWord.characters.first {
initials += String(lastLetter).capitalized
}
}
} else {
return nil
}
nameLabel.text = initials
UIGraphicsBeginImageContext(frame.size)
if let currentContext = UIGraphicsGetCurrentContext() {
nameLabel.layer.render(in: currentContext)
let nameImage = UIGraphicsGetImageFromCurrentImageContext()
return nameImage
}
return nil
}
}
Modified text is an extract of the original Stack Overflow Documentation
Lizenziert unter CC BY-SA 3.0
Nicht angeschlossen an Stack Overflow