Pour une raison quelconque, Xcode me dit qu'il ne trouve pas de symboles dès que j'utilise quelque chose comme kCAFillModeForwards. Il doit y avoir une bibliothèque ou une classe que je dois inclure ... mais laquelle? Le truc normal de Core Animation fonctionne bien comme [myView beginAnimations ...]. Quel est le truc pour faire fonctionner les trucs d'animation les plus sophistiqués?Pourquoi ne puis-je faire aucune animation CABasicAnimation ou Keyframe?
J'ai inclus dans le fichier .h:
#import <UIKit/UIKit.h>
#import <QuartzCore/QuartzCore.h>
@interface TestClass : UIView {
}
// ...
Je lance ce code:
- (void)testAnimation {
CABasicAnimation *fadeInAnimation = [CABasicAnimation animationWithKeyPath:@"opacity"];
[fadeInAnimation setToValue:[NSNumber numberWithFloat:1.0]];
fadeInAnimation.fillMode = kCAFillModeForwards;
fadeInAnimation.removedOnCompletion = NO;
// other stuff deleted to limit error possibilities...should at least compile
}
Cela se produit lorsque je construis (fait nettoyer beaucoup de fois), 2 erreurs:
cd "/Users/thanks/Desktop/Thanks/iPhone Development/TestApp"
setenv MACOSX_DEPLOYMENT_TARGET 10.5
setenv PATH "/Developer/Platforms/iPhoneSimulator.platform/Developer/usr/bin:/Developer/usr/bin:/usr/bin:/bin:/usr/sbin:/sbin"
/Developer/Platforms/iPhoneSimulator.platform/Developer/usr/bin/gcc-4.0 -arch i386 -isysroot /Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator2.2.1.sdk "-L/Users/thanks/Desktop/Thanks/iPhone Development/TestApp/build/Debug-iphonesimulator" "-F/Users/thanks/Desktop/Thanks/iPhone Development/TestApp/build/Debug-iphonesimulator" -filelist "/Users/thanks/Desktop/Thanks/iPhone Development/TestApp/build/TestApp.build/Debug-iphonesimulator/TestApp.build/Objects-normal/i386/TestApp.LinkFileList" -mmacosx-version-min=10.5 -framework Foundation -framework UIKit -framework CoreGraphics -o "/Users/thanks/Desktop/Thanks/iPhone Development/TestApp/build/Debug-iphonesimulator/TestApp.app/TestApp"
Undefined symbols:
".objc_class_name_CABasicAnimation", referenced from:
[email protected][email protected][email protected] in TestClassTestClass.o
"_kCAFillModeForwards", referenced from:
_kCAFillModeForwards$non_lazy_ptr in TestClass.o
ld: symbol(s) not found
collect2: ld returned 1 exit status
".objc_class_name_CABasicAnimation", referenced from:
[email protected][email protected][email protected] in TestClass.o
"_kCAFillModeForwards", referenced from:
_kCAFillModeForwards$non_lazy_ptr in TestClass.o
ld: symbol(s) not found
collect2: ld returned 1 exit status
Il dit Undefined symbols:
Dois-je inclure un cadre?
J'ai déjà inclus:
CoreGraphics.framework Foundation.framework UIKit.framework
Lorsque je supprime tout le code, mais QuartzCore import/QuartzCore.h, je ne reçois aucune Erreur. Donc, je parie que l'importation fonctionne, mais pas sûr.
SOLVED
J'ai manqué d'inclure le cadre QuartzCore !!
Peut-être au lieu de poser cette question, vous pourriez avoir gardé les réponses dans les commentaires ici: http://stackoverflow.com/questions/1142727/how-can-i-animate-the-movement-of-a- view-or-image-along-a-courbe-chemin/1143095 # 1143095 –
Si vous avez écrit ceci pour avoir une question claire avec une réponse claire, laissez-moi vous dire: Votre plan a échoué! –
Vous devriez attribuer la réponse à Jules. –