Ich habe zwei ziehbare Elemente auf dem Bildschirm, Tabellenansicht A und Bildansicht B. A steht in der Hierarchie über B und muss immer so bleiben. Das Diagramm unten umreißt das Problem.Gesten auf Objekten auf einer unteren Ebene ausführen
gestures on layers http://www.kettleholdings.com/gestures.jpg
Bevor ich diese Codierung zu starten, ist die über eine tragfähige und glaubwürdige Lösung für dieses Problem oder ist es eine Art von cleveren Priorität Einstellung, die die B Geste immer ausgelöst wird, wenn die Interaktion sowohl über A liegt und B?
Dank
http://stackoverflow.com/questions/3834301/ios-forward-all-touches-through-a-view – Dare
Wo sind Ihre Gesten konfiguriert? In jeder Ansicht einzeln oder in der Hauptansicht? Ich empfehle Ihnen diese letzte Option, damit Sie die gleiche Aktion für die Gesten in beiden Ansichten haben. Wenn Sie auf die Methode zugreifen, die von der Geste aufgerufen wird, können Sie daher auf den berührten Punkt zugreifen: CGPoint touchPoint = [GestenRecognizer locationInView: self.view]; Danach können Sie [imageViewB pointInside: touchPoint withEvent: nil]; um zu überprüfen, ob die Bildansicht B diesen Berührungspunkt enthält. Wenn es wahr ist, dann verschiebe diese Ansicht anstelle von A. – Leandro
Danke Leute - die Verweise auf pointinside haben mir einen guten Ausgangspunkt gegeben, um das herauszufinden. Kann ich bestätigen, dass ich die Geste zur Hauptansicht hinzufüge, und wenn die Geste aufgerufen wird, überprüfe ich, welche Elemente den Punkt enthalten, der berührt wurde, und entscheide, welcher von ihnen die Aktion zugewiesen wird? – RobertyBob