2016-11-16 4 views
0

Ich habe eine UIView, die ich als separates Modul verwende und kann es überall hin mitnehmen. Jetzt möchte ich zu einem UIViewController mit einem Klick auf die Schaltfläche in der UIView navigieren. Hoffe, das ist ziemlich klar.Wie navigiere ich von einer UIView-Klasse zu einem UIViewController?

+0

Hoffe, das ist ziemlich klar. - Nein, ist es nicht :) –

+0

Sie können das nicht direkt tun, müssen Sie Delegate Form Ihre UIView-Klasse implementieren und übergeben Sie es an die übergeordneten Ansicht Controller von dort können Sie die Navigation tun, ist es ziemlich klar? :) –

+0

Sie sollten Delegat in Ihrer Sicht implementieren –

Antwort

0

Kurze Antwort: Sie sollten nicht. Sie müssen das MVC-Entwurfsmuster lesen. A UIView ist ein Ansichtsobjekt. Sie versuchen, Controller-Verhalten zu einem Ansichtsobjekt hinzuzufügen.

Sie sollten sich die übergeordneten/untergeordneten Ansichtscontroller, Containeransichten und Einbettungssegmente ansehen. Sie können problemlos einen View-Controller erstellen, der eine "Kachel" in einem anderen View-Controller verwaltet und Nachrichten an den übergeordneten Controller sendet, wenn der Benutzer auf Schaltflächen klickt. Dies ist eine sehr übliche Art, Dinge zu tun.

0

Der beste Weg, dies zu tun ist, den ViewController der Ansicht als Delegat zu liefern, die einem Protokoll entspricht, das Sie dafür erstellen.

Zum Beispiel, wenn Sie UIView verwendet werden, um ein Bild zu wählen, dann sollten die Delegierten eine Methode verwendet:

  • (void) Ansicht: (UIView *) Ansicht choseImage: (UIImage *) Bild ;
Verwandte Themen