• Apfeltalk ändert einen Teil seiner Allgemeinen Geschäftsbedingungen (AGB), das Löschen von Useraccounts betreffend.
    Näheres könnt Ihr hier nachlesen: AGB-Änderung
  • Die Bildungsoffensive hier im Forum geht weiter! Jetzt sollen Kreativität und technische Möglichkeiten einen neue Dimension erreichen. Das Thema in diesem Monat lautet - Verkehrte Welt - Hier geht es lang --> Klick

touchesBegan NUR in UIImageView

Angel3DWin

Gala
Registriert
10.03.10
Beiträge
50
Hallo ihr,

sagt mal, gibt es eine Möglichkeit zu prüfen, ob der User in den UIImageView getouched hat?

Soll heißen, es soll nur eine Aktion ausgeführt werden, wenn er im gesamten UIImageView-Bereich getouched hat. Wenn er ausserhalb irgendwo im View gedrückt hat, soll nichts passieren.

Geht das?

Das mit userinteraction haut nicht so hin, wie ich mir das gedacht habe.

Danke euch.

VG Angel
 
hitTest:withEvent: vielleicht hilfts oder pointInside:withEvent:
 
aha, ok danke, ich werde mal dannach suchen, muss mir die methoden genau angucken ;)

EDIT:

Uff also ich blick da noch nicht wirklich durch...
 
Zuletzt bearbeitet:
machst es dir doch net so schwer ;) nimm ein UIButton, setze es auf CustomButton. In dieses CustomButton setzt du das Image was du brauchst. ;)
 
Hab ich probiert, allerdings brauche ich die Koordinaten, wo der User hingetoched hat, was wohl ohne die tochesBegan nicht funzt.

Wenn ich auf den Button touche, wird ja dann die touchesbegan nicht mehr aufgerufen.

Dann habe ich es so probiert:

- (IBAction) pointAddButtonHitFrameNewLocClicked:(id)sender (NSSet*)touches withEvent:(UIEvent*)event {

Heißt: Habe ab NSSet das Ganze einfach hinten an die IBAction gepappt, die ja aufgerufen wird, wenn der Button getouched wurde.

Klappt aber auch nicht....

Entweder ist heute nicht mehr Tag oder es geht wirklich nicht so einfach :(
 
Das ist nicht das Prob, habe ich alles schon, auch ist alles fertig, was ich machen will ;)

Der einzige Punkt ist wirklich, das Ganze auf den UIImageView einzugrenzen, der eben nicht so groß ist, wie das ganze View Fenster. Vielleicht liegts heute auch an der Hitze das ich auf der Stelle stehe, ich glaub ich mache heute nix mehr *schwitz*

In den UIImageView wird übrigens per UIImagePicker ein Bild von der Cam reingeladen, klappt ebenfalls ohne Probleme :)
 
Manchmal ist man doch wirklich doof in der Schüssel, hier der funktionierende Code für die Prüfung:

fotoAnzeigeNewLoc stellt hierbei das UIImageView dar. Ich werd noch bissl rumtesten und gucken, obs astrein geht das ich mich nicht irgendwo verhauen habe....

- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event
{
// Touch event Variable für Zugriff
UITouch *touch = [[event allTouches] anyObject];

// holt die genauen Touchkoordinaten
CGPoint point = [touch locationInView:touch.view];

CGFloat x_min = fotoAnzeigeNewLoc.center.x - (fotoAnzeigeNewLoc.bounds.size.width / 2);
CGFloat x_max = x_min + fotoAnzeigeNewLoc.bounds.size.width;
CGFloat y_min = fotoAnzeigeNewLoc.center.y - (fotoAnzeigeNewLoc.bounds.size.height / 2);
CGFloat y_max = y_min + fotoAnzeigeNewLoc.bounds.size.height;
if (point.x > x_min && point.x < x_max && point.y > y_min && point.y < y_max) {

....... usw.