Touch auf View nur in bestimmten Fällen abfangen

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

  • Touch auf View nur in bestimmten Fällen abfangen

    Hallo Entwickler,

    ich habe ein UITextView und ein UIImageView, welches darüber liegt. UserInteractionEnabled ist bei dem imageView auf YES gesetzt und ein UITapGestureRecognizer ist hinzugefügt, um den Touch zu verarbeiten. Alles funktioniert fein, bis auf ein Problem, das textView lässt sich nicht mehr scrollen, wenn man auf dem imageView beginnt.

    Ich habe schon die cancelsTouchesInView property des touchRecognizers auf NO gestellt. Wie kann ich die Touches an das textView weiterleiten, wenn es kein Tap ist, sondern nur an dieser Stelle ein Drag beginnt?
  • Touch auf View nur in bestimmten Fällen abfangen

    Um es nochmal ein bisschen deutlicher zu formulieren:
    Ich habe ein UIImageView und ein TextView darunter, beide befinden
    sich im gleichen View. Beim Tippen auf das UIImageView soll eine Aktion ausgelöst werden, das habe ich mit einem UITapGestureRecognizer umgesetzt.
    Leider lässt sich aber das TextView nicht mehr scrollen, wenn man den Tap auf dem imageView beginnt, da es den Touch abfängt. Wie kann ich den GestureRecognizer den Touch auf das imageView bemerken lassen, aber trotzdem den Touch an das TextView weitergeben?
  • Sorry aber ich kapiers nicht. Wie soll das denn bedienbar sein? Ich kann auf das Image tippen unter dem ein textview ist und dann passiert was. Gleichzeitig kann ich aber auch den Finger drauf lassen und soll dann das textview scrollen und was passiert dann wenn ich loslasse? Kommt dann das gleiche Event wie wenn ich auf das Imageview nur kurz tippe oder kommt das wirklich nur bei einem so kurzen Tipp? Wenn ja, wie lang darf der Tipp dann maximal sein, damit er noch als Tipp durchgeht und ab wann wird es ein scrollevent?

    das ist doch alles murks....

    sorry

    Claus
    2 Stunden Try & Error erspart 10 Minuten Handbuchlesen.

    Pre-Kaffee-Posts sind mit Vorsicht zu geniessen :)
  • Es hat schon seinen Sinn, beim Tippen auf das ImageView soll dessen Bild im Vollbild angezeigt werden. Da sich das ImageView aber über dem TextView befindet und sich auch mit diesem bewegt, soll es natürlich auch als Fläche zum scrollen bereitstehen. Bei einem einfachen Tap soll die Aktion ausgelöst werden, nicht, wenn gedraggt wird.

    Es habe schon verschiedenes probiert, es funktioniert aber alles nicht.
    1. Bei einem UITapGestureRecognizer auf dem ImageView, scrollt das TextView nicht, da die touches abgefangen werden.
    2. Bei einem UITapGestureRecognizer auf dem TextView, funktioniert es nur hakelig und das Caret lässt sich nur schwierig versetzen.
    3. Bei einer Subclass von UITextView, die touchesBegan und touchesEnded beinhaltet, werden nur die touches außerhalb des textContainer erkannt.

    Was soll ich denn noch tun?