2009-07-14 4 views
0

Ich habe derzeit 1 UIView, wo ich benutzerdefinierte Zeichnung mache. Ich möchte diese Ansicht mit einer anderen Ansicht überlagern, die einige Steuerelemente (Beschriftung, Schaltfläche usw.) enthält. Diese überlagerte Ansicht ist transparent, sodass Sie die Zeichnungsansicht sehen können.Touch-Ereignisse von einer Ansicht an eine Geschwister-/Kinderansicht auf dem iPhone weitergeben?

2 Fragen:

1) Sollte mache ich die Zeichnung ein Geschwister oder Kind der Überlagerungsansicht betrachten? 2) Wenn es ein Kind ist, berühren Sie Ereignisse (außerhalb derer, die zu der Schaltfläche gehen) automatisch zur Zeichnungsansicht? Wenn es ein Geschwister ist, wie gibt man die Berührungsereignisse weiter?

Danke.

Antwort

0

nach einigen mehr Experimenten, fand ich, dass, wenn ich die folgende hiearchy:

  • Overlay Ansicht | --- Schaltfläche | --- Zeichnungsansicht

In dieser Reihenfolge - wählen Sie dann die Berührungsereignisse die richtige Ansicht (das heißt Ereignisse Taste bestanden, wenn auf Zeichnungsansicht geklickt und bestanden, wenn berührt

.
1

Ich glaube nicht, dass Berührungsereignisse automatisch an eine andere Ansicht übergeben werden. Sie müssen es delegieren, es gibt viele Möglichkeiten, dies zu tun. Man kann einen ViewController verwenden, um zwischen den 2 Ansichten zu verwalten, den Ansichtscontroller von Berührungsereignissen von Ansicht A zu alarmieren und sie an Ansicht B weiterzuleiten. Wenn Sie die beiden Ansichten fest koppeln wollen und eine Ansicht die andere enthält, dann die Ansichten sollte miteinander sprechen, wenn Berührungen informieren auftreten, dass sie stattgefunden haben (vielleicht die beste Programmierung der Praxis nicht)

Verwandte Themen