UIImage im Subview

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

  • UIImage im Subview

    Hallo nochmal,

    Folgendes ist im Viewcontroller:

    Quellcode

    1. - (void) drawLine {
    2. UIGraphicsBeginImageContext(drawImage.frame.size);
    3. [drawImage.image drawInRect:CGRectMake(0, 0, drawImage.frame.size.width, drawImage.frame.size.height)];
    4. CGContextRef ctx = UIGraphicsGetCurrentContext();
    5. CGContextSetLineCap(ctx, kCGLineCapButt);
    6. CGContextSetLineWidth(ctx,2.0);
    7. CGContextSetRGBStrokeColor(ctx, 1.0, 0.0, 0.0, 1.0);
    8. CGContextBeginPath(ctx);
    9. CGContextMoveToPoint(ctx, punkt1.x-35,punkt1.y-15);
    10. CGContextAddLineToPoint(ctx, punkt2.x-35,punkt2.y-15);
    11. CGContextStrokePath(ctx);
    12. drawImage.image = UIGraphicsGetImageFromCurrentImageContext();
    13. UIGraphicsEndImageContext();
    14. //Inhalt ins Array für DB
    15. iCaromPoolTabAppDelegate *mainDelegate = (iCaromPoolTabAppDelegate *)[[UIApplication sharedApplication] delegate];
    16. NSData *imgData=UIImagePNGRepresentation(drawImage.image);
    17. mainDelegate.linienbildarray = imgData;
    18. }
    19. -(void) aendereBild: (NSData*)bildngage {
    20. UIImage *uiimageAusData = [UIImage imageWithData: bildngage];
    21. drawImage.image = uiimageAusData;
    22. }
    Alles anzeigen


    Obiges DrawLine malt eine schöne rote Linie ins drawImage. Das funktioniert soweit. Anschließend übergebe ich den Inhalt in ein Array in Richtung AppDelegate, damit es das in die Datenbank speichert. Klappt auch. Was auch noch klappt, ist das Auslesen (Danke an Euch, siehe meine Anfängerfrage von gestern) und die Übergabe zurück an den Viewcontroller.

    Was NICHT klappt ist, dass das drawImage.image durch das neue Image ersetzt wird beim Laden.

    Es klappt auch nicht, wenn ich beispielsweise einfach eine png-Datei von Platte lade und sageUIImage *cursor2 = [UIImage imageNamed:@"test.png"];
    [drawImage.Image = cursor2];

    Die Frage ist: Wieso.

    drawImage kann - wie oin drawLine - ja direkt im Viewcontroller angesprochen und auch verändert werden. Wieso kann ich dann nicht das Bild ändern, wenn der Aufruf vom AppDelegate kommt?

    Weiss das jemand? setNeedsDisplay etc. habe ich bereits probiert, scheiter aber kläglichst :)

    Danke!