2015-07-21 63 views
0

我正在開發使用超音速的跨平臺應用程序。但是,我相信我在理解超音速如何管理內部視圖方面存在問題。切換視圖超音速

首先,我不想使用原生導航欄,因爲它不支持標題內的圖像,如公司的標誌。這是我不想將視圖推入視圖堆棧(因爲它會自動添加<後退按鈕)。

我的問題是:如何在appgyver的超音速中切換視圖而不將其推入視圖堆棧?同樣喜歡標籤但沒有標籤界面。可能嗎?

也許我應該只是使用不同的移動Web應用程序框架?

回答

1

你可以用this method刪除本機導航欄:

supersonic.ui.navigationBar.hide(options).then(function() { 
    supersonic.logger.debug("Navigation bar hidden without animation."); 
}); 

還有隱藏導航欄,因此不會在屏幕上found here閃另一個建議:

導航欄不隱藏 我注意到很多次,酒吧不會被隱藏,因爲在視圖加載完成之前調用已經完成,導致錯誤,並且酒吧不隱藏。

快速修復: 您需要一種方法來告訴視圖已完成加載。我們如何做到這一點? 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); 

這將確保在視圖接收到消息之前不進行呼叫鼠尾草(它不會,直到後加載)

這意味着推動欣賞到堆棧將不提供本地導航欄,你可以添加你自己的風格和它你怎麼想。這是目前使用Supersonic的一種非常常見的方法。

如果您使用選項卡,它們都有自己的視圖堆棧。

要回答你的問題,沒有辦法將視圖推入堆棧。解決這個問題非常簡單。你也可以使用modals。同樣,不管你想要的風格,導航條的風格,你會想創建自己的和隱藏本地導航欄。

這個框架值得一試。我現在用它創建了很多應用程序。

+0

非常感謝! –