CALayer und sein Startpunkt iPad vs iPhone

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

  • CALayer und sein Startpunkt iPad vs iPhone

    Hallo Leute,

    ich bin gerade über was ziemlich nerviges gestolopert.

    In meiner iPhone App, verwende ich Layer.
    Denen gebe ich einen Hintergrund aus einer PNG Grafik.

    Quellcode

    1. - (void) becomeJokerField
    2. {
    3. NSString *imagePath = [[NSBundle mainBundle] pathForResource:@"jokerField" ofType:@"png"];
    4. UIImage *jokerImage = [[UIImage alloc] initWithContentsOfFile:imagePath];
    5. UIColor *jokerBGColor = [[UIColor alloc] initWithPatternImage:jokerImage];
    6. [self.master setBackgroundColor:jokerBGColor.CGColor]; //master ist ein CALayer (property/synthesize)
    7. [jokerBGColor release];
    8. [jokerImage release];
    9. }
    Alles anzeigen


    Jetzt ist ja der Zero-Point bei Layern links unten, (danke Macmoonshine, der mir das hier damals erklärte)
    deshalb spiegele ich meine Layer.

    Quellcode

    1. self.master.affineTransform = CGAffineTransformMakeScale(1.0, -1.0);


    Alles save soweit. Getestet im Simulator und auf dem iPod Touche unter iOS 4.1

    Bis Gestern, da teste ich das Ganze auf dem iPad (iOS 3.2 aber weiterhin iPhone-Version) und
    die PNGs stehen wieder auf dem Kopf.
    Masnahme: Wenn die iOS Vers. kleiner als 4.0 ist, führe ich die Spiegelung nicht aus.
    Alles save... bis heute.

    Ich teste die App auf dem iPod Touche (iOS 3.2 anstatt 4.1) und
    die PNGs stehen Kopf.

    ...mein Schluss: Der Zero-Point von CALayern ist vom Endgerät abhängig, nicht vom der iOS Version.

    Kann mir das jemand bestätigen, wiederlegen oder genauer erklären?
    Habt ihr Erfahrungsberichte?

    Ich konnte nichts handfestes dazu finden und hab keine Lust,
    dass es nach dem release wieder von jemandem heißt,
    dass die App ja teilweise Kopfüber angezeigt wird, 8|
    weil ich irgendeinen Faktor nicht kenne, der ausschlaggebend ist.

    Beste Grüße und Danke schonmal
    dealloc {
    [myLeak retain];
    }
  • Hat mir in dem Fall nichts gebracht, trozdem danke.

    Das Problem hat sich von selbst erledigt.

    Die "Überkopf" -Anzeige tritt nur auf, wenn ich die App als iOS 3.2 Version auf einem 4.0+ Gerät teste.
    Da sie aber als 4.1 Version released wird, wird eh niemand dieses Feature zu sehen bekommen. ;)
    dealloc {
    [myLeak retain];
    }