Wie mache ich ein TabNavigator-Taste a drücken modal-Bildschirm mit Navigation Reagieren
Verwendung Reagieren die Registerkarte "Navigation" navigator https://reactnavigation.org/docs/navigators/tab wie mache ich einer der tab-Tasten schieben Sie den Bildschirm als Vollbild modal? Ich sehe die Stapel navigator hat eine mode=modal
option. wie bekomme ich diesen Modus verwendet werden, wenn Sie auf den TakePhoto
tab-Taste? Klick auf die es derzeit noch zeigt der tab-Leiste auf der Unterseite.
const MyApp = TabNavigator({
Home: {
screen: MyHomeScreen,
},
TakePhoto: {
screen: PhotoPickerScreen, //how can I have this screen show up as a full screen modal?
},
});
- Wie haben Sie das gelöst? Ich habe versucht, um es herauszufinden, für eine Weile
InformationsquelleAutor MonkeyBonkey | 2017-02-22
Schreibe einen Kommentar Antworten abbrechen
Du musst angemeldet sein, um einen Kommentar abzugeben.
Tatsächlich, es gibt keine Unterstützung in reagieren-navigation verändern die Art und Weise der Präsentation on-the-fly aus
default
zumodal
(siehe die Diskussion über diese hier). Ich lief in das gleiche Problem und löste es mit einem sehr topStackNavigator
mitheaderMode
eingestelltnone
undmode
eingestelltmodal
:Das erlaubt mir, Folgendes zu tun (mit redux) in
Tab1Screen
undTab2Screen
zu bringen, bis das modale Ansicht aus, wo immer ich will:Nicht sicher, ob dies noch relevant ist für dich, aber ich habe es geschafft, und Sie finden einen Weg, dies zu erreichen.
So, ich habe es geschafft, es funktioniert durch die Verwendung der tabBarComponent innerhalb der tabNavigatorConifg, können Sie die tab-navigation aus Navigation je nach index.
Sobald Sie dies getan haben, meine Methode zu zeigen, die Ansicht Modal auf der Oberseite des tab-Blick auf zu setzen der tabnavigator-Containers innerhalb eines stacknavigatior und dann einfach navigieren Sie zu einem neuen Bildschirm im inneren des stacknavigator.
Einen Weg, um die tab-Leiste Weg gehen, ist das verstecken der tabBar mit
visible: false
:Aber das scheint nicht zu auslösen, die den übergang zum Vollbild, was ich denke, ist gewünscht?
Weitere option könnte sein, wrap
PhotoPickerScreen
in einer neuen StackNavigator, und dann den navigator-Modus='modal'.Müssen Sie möglicherweise auslösen der navigation zu, dass modale von onPress auf das tabItem irgendwie (zB.
navigation.navigate('TakePhoto')
.)Hinweis, ich werde versuchen, wickeln Sie meinen Kopf herum, wie am besten, um die Struktur der navigation selbst, so ...
Dritte Möglichkeit, die Umsetzung einer StackNavigator als Elternteil dann hinzufügen die
MyApp
TabNavigator als die erste route in der es, könnte die flexibelste Lösung. Dann die TakePhoto Bildschirm wäre auf der gleichen Ebene wie der TabNavigator-Container, so dass Sie route, um es von überall.Daran interessiert zu hören, was Sie mit kommen!
react-navigation
's bottomTabNavigator hat einetabBarOnPress
navigation option, die Sie verwenden können, um die Registerkarte überschreiben Pressen:https://reactnavigation.org/docs/en/bottom-tab-navigator.html#tabbaronpress
Wenn Sie Ihr nest Registerkarte navigator innerhalb eines stack-navigator mit einer modalen, können Sie öffnen Sie diese, wenn Sie die tab-bar-Taste gedrückt wird. Da der modal geöffnet wurde und nicht der Reiter, wenn das modal geschlossen ist, die app zurück zu dem Bildschirm, der angezeigt wurde, bevor das modale Fenster wurde gedrückt.
Docs sind lückenhaft, in einigen Bereichen, aber hier ist es: