Переключить вид сверхзвукового
Я разрабатываю кроссплатформенное приложение, которое использует сверхзвуковой. Тем не менее, я считаю, что у меня есть проблема с пониманием того, как сверхзвуковой управляет взглядами внутри страны.
Прежде всего, я не хочу использовать встроенную панель навигации, потому что она не поддерживает изображения внутри заголовка, например логотип компании. Таким образом, я не хочу помещать представление в стек представлений (потому что оно автоматически добавляет кнопку <Назад).
Мой вопрос: как переключить представление в сверхзвуковом appgyver, не помещая его в стек представлений? Аналогично вкладкам, но без интерфейса вкладок. Является ли это возможным?
Может быть, я должен просто использовать другую платформу мобильного веб-приложения?
1 ответ
Вы можете удалить родную панель навигации с помощью этого метода:
supersonic.ui.navigationBar.hide(options).then( function() {
supersonic.logger.debug("Navigation bar hidden without animation.");
});
Есть также другое предложение, чтобы скрыть панель навигации, чтобы она не вспыхивала на экране, найденном здесь:
Панель навигации не скрывается. Я заметил, что в большинстве случаев панель не будет скрыта, поскольку вызов был сделан до того, как представление завершило загрузку, что привело к ошибке, и панель не скрылась.
Быстрое исправление: вам нужен способ сообщить представлению, что оно завершило загрузку. Как мы это делаем? window.post()
В исходном представлении в любом контроллере добавьте следующий код
$scope.broadcastMessage = function(msg){
var message = {
recipient: "hideView",
message: "Hi Hide view!"
};
window.postMessage(message);
});
Во втором представлении сделайте то же самое, но используйте следующий код
function messageReceived(event) {
// check that the message is intended for us
if (event.data.recipient === "showView") {
steroids.view.navigationBar.hide();
}
}
window.addEventListener("message", messageReceived);
Это гарантирует, что вызов не будет выполнен до тех пор, пока представление не получит сообщение (чего не будет до тех пор, пока оно не загрузится)
Это означает, что перетаскивание представлений в стек не даст встроенную панель навигации, и вы можете добавить свой собственный стиль и стилизовать его так, как хотите. Это довольно распространенный метод, использующий Сверхзвуковой прямо сейчас.
Если вы используете вкладки, каждая из них имеет свой собственный стек представлений.
Чтобы ответить на ваш вопрос, нет способа получить представление, которое не помещается в стек. Обойти это довольно просто. Вы также можете использовать модалы. Опять же, чтобы стилизовать навигационную панель так, как вы хотите, вам нужно создать свою собственную и скрыть родную навигационную панель.
Стоит попробовать с этим фреймворком. Я создал много приложений с ним сейчас.