Images bewegen

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

  • Für das "messestandItems" ist das Array schon vollkommen korrekt. Für die darin gespeicherten Objekte ist ein Array aber ganz sicher der Falsche Datentyp. Am besten nimmst Du daeine eigene Klasse, die kann sich dann z.B. auch um das verschieben und den ganzen Initialiserungskram kümmern. Willst Du das nicht, dann ist das Dicitionary aber in meinen Augen die bessere Lösung.
  • wolf_10de schrieb:

    Damit wirst Du nicht weit kommen, weil wenn alle Bilder übereinander liegen, RectIntersect bei jedem Image zutrifft.
    Oder hab ich Dein grundsätzliche Problem nicht richtig verstanden?
    naja, die bilder liegen ja nicht alle übereinander........
    sondern nebeneinander/untereinander......
    [Blockierte Grafik: http://vietense.funpic.de/diverses/Bildschirmfoto.png]


    Im Hintergrund ist ein Raster, auf einem anderen View damit es nicht stört.......
    Wenn Dich alles verlässt kommt das allein sein.
    Wenn Du alles verlässt kommt die Einsamkeit.
  • Also auf der rechten Seite habe ich meine Bibliothek mit Bildern.
    Daraus wähle ich ein Bild aus und das wird dann auf der rechten Seite außerhalb von dem Raster platziert.

    Das Bild bewege ich dann in mein Raster.
    Wähle das nächste Bild aus und bewege es in mein Raster.

    Das Raster ist nur als Platzierungshilfe gedacht und hat keinen weiteren Nutzen, kann also unbeachtet werden....

    Wähle Bilder aus und bewege diese.......

    Nun kann es ja aber vorkommen das der Anwender ein bereits platziertes Bild zu einem späteren Zeitpunkt noch einmal wo anders hin bewegen will.

    Ich stelle mir das so vor das der Anwender auf ein Bild doppelt "klickt" der App zu sagen "AH, jetzt soll dieses Bild bewegt werden" und dann kann er das Bild bewegen.

    Sinn und Zweck dieser App wird sein, das der Anwender einen Entwurf eines Messestands planen kann.
    Wenn Dich alles verlässt kommt das allein sein.
    Wenn Du alles verlässt kommt die Einsamkeit.
  • Na also, jetzt hab ich es geblickt, mach Dir ne Klasse (UIView) mit deinem Bild drin und fange die touch-Events ab.

    Damit sparst Du dir das RectIntersect-Gedöns.
    Im übrigen brauchst Du dann auch kein Dict oder was auch immer, ein einfaches Array in dem Deine Objekte liegen reicht vollkommen aus.
  • wolf_10de schrieb:

    Na also, jetzt hab ich es geblickt, mach Dir ne Klasse (UIView) mit deinem Bild drin und fange die touch-Events ab.

    Damit sparst Du dir das RectIntersect-Gedöns.
    Im übrigen brauchst Du dann auch kein Dict oder was auch immer, ein einfaches Array in dem Deine Objekte liegen reicht vollkommen aus.
    Genau da hängt ja mein Problem........ WIE ????

    Den extra View für die Bilder habe ich.....
    Das Array wo die Bilder gespeichert werden hab ich auch.....
    ich hab ne Touchfunktion, die geht auch.


    ABER wie sage ich meiner Touch Funktion bewege nicht das letzte sondern ein anderes.....
    Wie sage ich einem anderen Bild "Du bist nun aktiv" ---- "beweg dich" !!!

    Ich steh auf dem Schlach ?(
    Wenn Dich alles verlässt kommt das allein sein.
    Wenn Du alles verlässt kommt die Einsamkeit.
  • Hier noch der Code zu meiner Lösung:

    Quellcode

    1. -(void)touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event {
    2. UITouch *touch = [[event allTouches] anyObject];
    3. CGPoint location = [touch locationInView:self.view];
    4. int imageX = aktivImageView.frame.origin.x;
    5. int imageY = aktivImageView.frame.origin.y;
    6. int imageW = aktivImageView.frame.size.width;
    7. int imageH = aktivImageView.frame.size.height;
    8. int verFaktor = 100/faktor;
    9. CGRect imageGross = CGRectMake(imageX-(2*verFaktor), imageY-(2*verFaktor), imageW+(4*verFaktor), imageH+(4*verFaktor));
    10. if (CGRectContainsPoint(imageGross, location)) {
    11. aktivImageView.center = location;
    12. }
    13. NSLog(@"Count %i", [itemTest count]);
    14. for (int i = 0; i < [itemTest count]; i++) {
    15. UIImageView *imageView = [itemTest objectAtIndex:i];
    16. if (CGRectIntersectsRect(CGRectMake(location.x, location.y, imageView.frame.size.width, imageView.frame.size.height),
    17. CGRectMake(imageView.frame.origin.x, imageView.frame.origin.y, imageView.frame.size.width, imageView.frame.size.height))) {
    18. int x1 = imageView.frame.origin.x;
    19. NSLog(@"im Array gefunden %i", x1);
    20. aktivImageView = [itemTest objectAtIndex:i];
    21. }
    22. }
    23. }
    Alles anzeigen



    Es ist noch nicht optimal aber ein Anfang......

    Vielen Dank für Eure Hilfe :)

    Allerdings sobald ich ein Bild über ein anderes Bild bewege passiert es das sich dann auf einmal das zu bewegende Bild getauscht wird.
    Aber das ist ein kleines Problem, denke ich ;)
    Wenn Dich alles verlässt kommt das allein sein.
    Wenn Du alles verlässt kommt die Einsamkeit.