2017-08-16 1 views
2

J'ai CAShapeLayers dans mon UIView et je veux UIImage de la vue.
Je suis en train thru ci-dessous fonction mais obtenir une erreur à
UIGraphicsGetCurrentContext()Swift Obtenir UIImage à partir des couches de 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

Le problème le plus probable est que 'self.frame.size' est zéro dans une ou deux dimension (s). – idz

+0

Je suis content d'avoir pu aider. Publié comme réponse maintenant. Bonne chance avec votre application! – idz

Répondre

3

Si la taille est passé à UIGraphicsBeginImageContext(_) est égal à zéro dans l'une ou les deux dimensions (s), puis UIGraphicsGetCurrentContext() retours nil et il en sera de même pour UIGraphicsGetImageFromCurrentImageContext().

+0

Merci votre indice et Réglage de la taille du cadre a travaillé pour moi. Pouvez-vous envisager de voter pour mes questions aussi? Donc, il va venir et aider les autres qui font face à des problèmes comme moi. –