Frage

Ich habe eine benutzerdefinierte Ansicht aus, zu dem ich eine benutzerdefinierte Schaltfläche hinzufügen. Diese benutzerdefinierte Ansicht geht als Subview noch eine andere Ansicht (Kal Kalender für iphone), dass ich in eine Navigationssteuerung drücken. Nun ist die Taste in meiner benutzerdefinierten Ansicht auf ein IBAction verbunden ist, in dem ich nicht in der Lage bin, auf dem self.navigationController anrufen aus der aktuellen Ansicht Pop.

Ich habe versucht, das [[Absender Super] Navigation] für eine Hierarchie von Super Anrufen, aber es funktioniert nicht auf diese Weise auch nicht.

Alle Ideen bitte?

Danke

War es hilfreich?

Lösung

Ein Blick hat in der Regel keine Kenntnis von seinen View-Controller (und folglich auf seinem oder nach Ansicht der sein Superview-Controllers Navigation-Controller), da diese eine enge Kopplung zwischen Ansicht und View-Controller einführen würden, die in der Regel unerwünscht und unnötig ist.

Der einfachste Weg, um Ihr Problem zu lösen wäre, die View-Controller haben, anstelle der Ansicht ist die Klage der Schaltfläche zu behandeln. Wenn das nicht funktioniert für Ihr Design, sollten Sie ein Delegat-Protokoll für Ihre benutzerdefinierte Ansicht entwerfen und Ihre View-Controller die benutzerdefinierte Ansicht des Delegierten machen. Die Ansicht würde dann rufen Sie die delegierte Methode in der Aktionsmethode der Schaltfläche. Dieses letztere Verfahren wird eine Menge im ganzen Cocoa, z.B. verwendet von UIScrollView (UIScrollViewDelegate) und UITableView (UITableViewDelegate).

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top