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.
Images bewegen
Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen
-
-
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?
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. -
Ok ich bin irgendwie zu doof, kannst Du ganz knapp mal beschreiben was Du machen willst, ohne den anderen Schnick Schnack?
Du hast Bilder und willst die verschieben? -
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.
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 SchlachWenn Dich alles verlässt kommt das allein sein.
Wenn Du alles verlässt kommt die Einsamkeit. -
-
Ich hab die Lösung gefunden
Ich post gleich noch den zusätzliche Code, falls andere vor einem ähnlichem Problem stehen......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
- -(void)touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event {
- UITouch *touch = [[event allTouches] anyObject];
- CGPoint location = [touch locationInView:self.view];
- int imageX = aktivImageView.frame.origin.x;
- int imageY = aktivImageView.frame.origin.y;
- int imageW = aktivImageView.frame.size.width;
- int imageH = aktivImageView.frame.size.height;
- int verFaktor = 100/faktor;
- CGRect imageGross = CGRectMake(imageX-(2*verFaktor), imageY-(2*verFaktor), imageW+(4*verFaktor), imageH+(4*verFaktor));
- if (CGRectContainsPoint(imageGross, location)) {
- aktivImageView.center = location;
- }
- NSLog(@"Count %i", [itemTest count]);
- for (int i = 0; i < [itemTest count]; i++) {
- UIImageView *imageView = [itemTest objectAtIndex:i];
- if (CGRectIntersectsRect(CGRectMake(location.x, location.y, imageView.frame.size.width, imageView.frame.size.height),
- CGRectMake(imageView.frame.origin.x, imageView.frame.origin.y, imageView.frame.size.width, imageView.frame.size.height))) {
- int x1 = imageView.frame.origin.x;
- NSLog(@"im Array gefunden %i", x1);
- aktivImageView = [itemTest objectAtIndex:i];
- }
- }
- }
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 ichWenn Dich alles verlässt kommt das allein sein.
Wenn Du alles verlässt kommt die Einsamkeit.
-
Tags