nicht ich Erfahrung in Core Graphics, aber ich brauche eine dynamische uImage zu zeichnen, die wie diese aussehen:swift 3 Unentschieden UIImage programmatisch
(Eigentlich möchte ich die Grauzone klar sein, also die rote Farbe wie floating)
ich versuchte Dies ist der Code aussehen:.
öffentliche Erweiterung UIImage {
public convenience init?(color: UIColor, size: CGSize = CGSize(width: 27, height: 5), isWhole: Bool = true) {
let totalHeight: CGFloat = 5.0
let topRectHeight: CGFloat = 1.0
//if (isWhole) {
let topRect = CGRect(origin: .zero, size: CGSize(width: size.width, height: topRectHeight))
UIGraphicsBeginImageContextWithOptions(topRect.size, false, 0.0)
color.setFill()
UIRectFill(topRect)
let bottomRect = CGRect(origin: CGPoint(x: 0, y: topRectHeight), size: CGSize(width: size.width, height: totalHeight - topRectHeight))
UIGraphicsBeginImageContextWithOptions(bottomRect.size, false, 0.0)
UIColor.blue.setFill()
UIRectFill(bottomRect)
let image = UIGraphicsGetImageFromCurrentImageContext()
UIGraphicsEndImageContext()
guard let cgImage = image?.cgImage else { return nil }
self.init(cgImage: cgImage)
}
Benötigen Sie Bilder oder könnte es 'UIView's sein? –
müssen uiimage sein. als die Bibliothek Funktion im Aufruf benötigt uiimage als Eingabe. – iadgotstacked
Ich füge eine neue Antwort hinzu. Ich weiß, dass du bereits eins akzeptiert hast, aber das könnte eine gute Alternative sein. Es verwandelt jede 'UIView' in eine' UIImage'. – dfd