Frage

was ich will

Eine vollständig benutzerdefinierte Navigationsleiste, die weiterhin bestehen bleibt und die Benutzerinteraktion durch benutzerdefinierte Modalübergänge ermöglichen.

was ich getan habe

Ich habe einen übergeordneten View-Controller gebaut, der eine Containersicht auf der Unterseite und eine Ansicht (die benutzerdefinierte Navigationsleiste) auf der Oberseite enthält. Die Behältersicht beinhaltet einen Ansichtssteuergerät, der andere Ansichtssteuerungen modal darstellen kann.

Die Ansichtssteuerungen, die modal präsentiert werden, verwenden modal ein benutzerdefiniertes Übergang (uiviewcontrollertranitioningdelegate), um von unten aufzuleiten, und setzen Sie den Teil des Ansichtscontrollers unten (d. H. Lassen Sie das Menü sichtbar) ein.

Wenn der erste Ansichtscontroller modal angezeigt wird, kann das benutzerdefinierte Navigationsmenü noch miteinander interagiert werden. Wenn jedoch der erste modal dargestellte View-Controller wiederum einen anderen View-Controller darstellt, antwortet die benutzerdefinierte Navigationsleiste nicht auf die Benutzerinteraktion.

generasacodicetagpre.

(cont)

generasacodicetagpre.

Wenn der erste Ansichtscontroller modal angezeigt wird, reagiert die Navigationsleiste immer noch auf Berührungen. Wenn der zweite (und alle anderen diese Zeile (d. H. 3RD, 4. ...)) dargestellt werden, ist die Navigationsleiste noch sichtbar, sondern reagiert nicht auf den Benutzer berührt.

Es gibt ein Beispielprojekt auf github , das das Problem darstellt, das ich habe.

Was mein Problem ist

Ich möchte an der Navigationsleiste tippen können, egal wie viele Ansichtssteuerungen, die ich modal präsentiert habe.

sollte die Art und Weise, wie ich mich dieser Arbeit nähere?

Was ist der beste Weg, um das zu erreichen, was ich tun möchte? Gibt es eine Standardmethode, um vollständig benutzerdefinierte Navigationsleisten zu erstellen (d. H. Mehrere Tasten, benutzerdefinierte Höhen usw.)?

War es hilfreich?

Lösung

Bitte ändern Sie den Modal-Präsentationsstil für den zweiten View-Controller in der Datei CVTFirstViewController.h nach Github Projekt.

diesen Code verwenden

generasacodicetagpre.

statt

generasacodicetagpre.

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