Es gibt eine Möglichkeit, eine View-Controller-Referenz von einem UIView
-Objekt zu erhalten? Ich brauche so etwas:
Sie können dazu die Methode -nextResponder
verwenden. Laut Ссылка , "UIView implementiert diese Methode durch Zurückgeben des UIViewController-Objekts, das es verwaltet (falls es eins hat) oder seiner Superview (falls nicht)"
UIView hat standardmäßig keinen Bezug zu UIViewController. Sie können es Ihrer UIView-Unterklasse hinzufügen und beim Erstellen von UIView in UIViewController festlegen.
Wenn Sie nach dem übergeordneten Element des Viewcontrollers suchen, hat jeder UIViewController die Eigenschaft parentViewController
, aber wenn Sie von UIView darauf zugreifen möchten, müssen Sie zuerst zu Ihrem UIViewController gelangen.
Sie können ein Beispiel sehen, wie Sie einen Verweis auf Ihren UIViewController in Ihrer Unterklasse von UIView erstellen und wie / wo Sie ihn in View Controller-Programmierhandbuch für iPhone , siehe Abschnitt Programmgesteuertes Erstellen in Definieren Sie eine benutzerdefinierte View-Controller-Klasse . Im folgenden Beispiel finden Sie weitere Details im verknüpften Metronome-Beispiel.
%Vor%In der Kopfzeile:
%Vor%Tags und Links objective-c iphone cocoa-touch uiview uiviewcontroller