Zugriff auf übergeordneten Ansicht von einem chid UIView
Ich habe einen UIViewController mit xib und verwenden Sie den Interface Builder ich habe Kind UIView.
Innerhalb der untergeordneten UIView, wenn ich auf ein Objekt innerhalb dieser Ansicht möchte ich in der Lage sein, zu ändern, den Titel des ganzen Fensters.
Jetzt würde ich normalerweise auch machen, dass die Einstellung
self.title = @"hi";
auf der übergeordneten UIViewController. Aber gibt es eine Möglichkeit, ich kann auf den übergeordneten Titel aus der kindheit?
Habe ich versucht,
self.superview.title = @"i";
self.parentViewController.title = @"hi";
aber weder die Arbeit.
Jede Hilfe sehr geschätzt
Dank
InformationsquelleAutor user930731 | 2012-02-05
Du musst angemeldet sein, um einen Kommentar abzugeben.
self.superview.title = @"i";
liefert ein Objekt vom TypUIView
, undUIView
hat keinetitle
Eigenschaft.UIViewController
s haben eineparentViewController
Eigentum, sondernUIView
s nicht.Also das grundlegende problem ist, dass man nicht richtig trennen Sie Ihren controller und Ihre view-Klassen. Was würden Sie normalerweise machen, ist die Ansicht, die Sie wollen, zu fangen, tippt auf eine Unterklasse von
UIControl
(was Dinge wieUIButton
schon sind, aber wenn es ein BrauchUIView
Unterklasse, dann können Sie einfach ändern Sie es in einUIControl
Unterklasse seitUIControl
ist selbst eine Unterklasse vonUIView
), dann in deinem controller etwas hinzufügen wie:So dass Sie explizit investieren Sie nicht die Sicht mit der Kenntnis über die position innerhalb der view-Hierarchie oder wie Sie Ihre view-Controller Absicht, zu handeln. Sie einfach sagen, es zu geben Ihnen einen Schrei, wenn es erhält eine Benutzer-Interaktion.
UIResponder ist keine Unterklasse von UIView. Es ist die andere Weise herum.
In der Tat, ich habe klar typisierte
UIResponder
wo ich meineUIControl
; ich werde es korrigieren.InformationsquelleAutor Tommy