2017-08-16 6 views
2

Ich habe CAShapeLayers in meinem UIView und ich möchte UIImage aus der Sicht.
So unten Funktion durch Ich versuche aber einen Fehler bei
UIGraphicsGetCurrentContext()Swift Get UIImage von Schichten von UIView

extension UIView 
{ 
    func getImgFromVyuFnc() -> UIImage 
    { 
     UIGraphicsBeginImageContext(self.frame.size) 

     self.layer.renderInContext(UIGraphicsGetCurrentContext()) 
     let image = UIGraphicsGetImageFromCurrentImageContext() 

     UIGraphicsEndImageContext() 
     return image! 
    } 
} 

fatal error: unexpectedly found nil while unwrapping an Optional value 2017-08-17 04:17:47.230474 PicPac[1095:488887] fatal error: unexpectedly found nil while unwrapping an Optional value

+0

Das wahrscheinlichste Problem ist, dass 'self.frame.size' in einer oder beiden Dimension (en) null ist. – idz

+0

Ich bin froh, dass ich helfen konnte. Gepostet als Antwort jetzt. Viel Glück mit deiner App! – idz

Antwort

3

Wenn die Größe übergeben UIGraphicsBeginImageContext(_) Null in eine oder beide Dimension (en) dann UIGraphicsGetCurrentContext() kehrt nil bekommen und so wird UIGraphicsGetImageFromCurrentImageContext().

+0

Danke deinen Hinweis und das Einstellen der Rahmengröße hat für mich funktioniert. Können Sie sich auch für meine Fragen entscheiden? So wird es kommen und anderen helfen, die mit Problemen wie mir konfrontiert sind. –

Verwandte Themen