• Apfeltalk ändert einen Teil seiner Allgemeinen Geschäftsbedingungen (AGB), das Löschen von Useraccounts betreffend.
    Näheres könnt Ihr hier nachlesen: AGB-Änderung
  • Was gibt es Schöneres als den Mai draußen in der Natur mit allen Sinnen zu genießen? Lasst uns teilhaben an Euren Erlebnissen und macht mit beim Thema des Monats Da blüht uns was! ---> 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
 

Miralem23

Kaiser Wilhelm
Registriert
24.11.08
Beiträge
178
hitTest:withEvent: vielleicht hilfts oder pointInside:withEvent:
 

Angel3DWin

Gala
Registriert
10.03.10
Beiträge
50
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:

Miralem23

Kaiser Wilhelm
Registriert
24.11.08
Beiträge
178
machst es dir doch net so schwer ;) nimm ein UIButton, setze es auf CustomButton. In dieses CustomButton setzt du das Image was du brauchst. ;)
 

Angel3DWin

Gala
Registriert
10.03.10
Beiträge
50
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 :(
 

Miralem23

Kaiser Wilhelm
Registriert
24.11.08
Beiträge
178
allerdings brauche ich die Koordinaten

schau mal es gibt auch in der Klasse UITouch - (CGPoint)locationInView:(UIView *)view die Methode liefert dir die x und y Koordinaten
 

Angel3DWin

Gala
Registriert
10.03.10
Beiträge
50
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 :)
 

Angel3DWin

Gala
Registriert
10.03.10
Beiträge
50
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.