8 votes

Pourquoi le message d'avertissement "Aucune méthode -renderInContext : n'a été trouvée" s'affiche-t-il ?

J'obtiens un avertissement du compilateur à l'étape -renderInContext :

- (UIImage *) imageFromView:(UIView *)view {
    UIGraphicsBeginImageContextWithOptions(view.bounds.size, view.opaque, 0.0);
    [view.layer renderInContext:UIGraphicsGetCurrentContext()]; 
    UIImage * img = UIGraphicsGetImageFromCurrentImageContext();    
    UIGraphicsEndImageContext();
    return img; 
}

J'ai QuartzCore dans le projet de frameworks, et le code fonctionne. Comment puis-je corriger le code pour qu'il cesse de me donner l'avertissement ?

L'avertissement exact que je reçois est le suivant

warning: no '-renderInContext:' method found
warning: (Messages without a matching method signature
warning: will be assumed to return 'id' and accept
warning: '...' as arguments.)

33voto

aqua Points 2014

Essayez d'importer le framework Quartz dans votre application.

Ajoutez ensuite,

#include <QuartzCore/QuartzCore.h>

à votre application.

2voto

Joost Points 7673

Je suppose que c'est dû au fait que les CALayer se trouve dans le cadre QuartzCore.

Dans Xcode, dans le groupe Frameworks, ajoutez le framework QuartzCore et tout devrait s'arranger.

Ensuite, voir mon post ici sur SO pour savoir comment inclure les fichiers d'en-tête dans chaque fichier source. Maintenant ce n'est pas pour Core Data, mais pour QuartzCore (exactement de la même manière)

2voto

timothy5216 Points 280

Avez-vous QuartzCore.framework dans votre projet ?

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X