XCode findet view.layer.anchorPoint mal ja, mal nicht

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • XCode findet view.layer.anchorPoint mal ja, mal nicht

    Hallo Forum,

    ich habe ein Tutorial für Gestenerkennung (Touches) geladen, um mich einzuarbeiten.
    Die App läuft ohne Probleme.

    Nun habe ich begonnen, die Technik in meine App zu übernehmen und habe eine Methode kopiert:

    Quellcode

    1. - (void)adjustAnchorPointForGestureRecognizer:(UIGestureRecognizer *)gestureRecognizer
    2. {
    3. if (gestureRecognizer.state == UIGestureRecognizerStateBegan) {
    4. UIView *piece = gestureRecognizer.view;
    5. CGPoint locationInView = [gestureRecognizer locationInView:piece];
    6. CGPoint locationInSuperview = [gestureRecognizer locationInView:piece.superview];
    7. piece.layer.anchorPoint = CGPointMake(locationInView.x / piece.bounds.size.width, locationInView.y / piece.bounds.size.height);
    8. piece.center = locationInSuperview;
    9. }
    10. }
    Alles anzeigen


    Das Problem ist die vorletzte Zeile. Im Tutorial ist alles OK, in meiner App wird ein Fehler gemeldet:
    "Property anchorPoint cannot be found in forward class object CALayer"
    Und wir reden vom selben XCode, in dem ich beide Projekte nebeneinander stehen habe.
    Auch die Hilfe ist unterschiedlich. Klicke ich auf anchorPoint, wird mir im Tutorial unter Quick Help eine große Hilfeseite angezeigt, während in der anderen App, wo die Methode eigentich gar nicht bekannt ist, nur eine verkürzte Version der Hilfe steht.
    Es gibt auch keine Klasse, die im Tutorial noch eingebunden ist oder ein fehlendes Framework.

    Wie geht das?
    Und vor allem: wie geht das weg?
  • ForwardClass... Vermutlich hast du irgendwo ein @class CALayer stehen, aber der Header dafür fehlt dir.

    Schau mal, ob du auch wirklich das QuartzCore.framework in deiner App eingebunden hast. ;)
    «Applejack» "Don't you use your fancy mathematics to muddle the issue!"

    Iä-86! Iä-64! Awavauatsh fthagn!

    kmr schrieb:

    Ach, Du bist auch so ein leichtgläubiger Zeitgenosse, der alles glaubt, was irgendwelche Typen vor sich hin brabbeln. :-P
  • Damit der Compiler die Property anchorPoint kennt, braucht er die Klassen-Deklaration von CALayer. Die steht in der Datei QuartzCore/CALayer.h, die Du in der Regel indirekt über QuartzCore/QuartzCore.h einbindest. Wenn Du wissen willst, welche Dateien Du alle direkt oder indirekt in eine Implementierungsdatei einbindest, kannst Du Dir die Ausgabe des Präprozessors über Product | Generate Output | Preprocessed File ansehen. Darin kannst Du ja einfach mal nach CALayer.h suchen.
    „Meine Komplikation hatte eine Komplikation.“