Framework7 - 状态栏
描述
iOS 7+ 允许您构建全屏应用,但当您的状态栏与应用重叠时,可能会出现问题。Framework7 通过检测您的应用是否处于全屏模式来解决此问题。如果您的应用处于全屏模式,则 Framework7 会自动将 with-statusbar-overlay 类添加到 <html>(如果应用未处于全屏模式,则删除),您需要在 <body> 中添加 statusbar-overlay 类,如以下代码所示 −
<html class = "with-statusbar-overlay"> ... <body> <div class = "statusbar-overlay"></div> ...
默认情况下,<div> 将始终隐藏并固定在屏幕顶部。只有当应用处于全屏模式并且将 with-statusbar-overlay 类添加到 <html> 时,它才会可见。
示例
以下示例演示了 Framework7 中状态栏的使用 −
<!DOCTYPE html> <html> <head> <meta name = "viewport" content = "width = device-width, initial-scale = 1, maximum-scale = 1, minimum-scale = 1, user-scalable = no, minimal-ui" /> <meta name = "apple-mobile-web-app-capable" content = "yes" /> <meta name = "apple-mobile-web-app-status-bar-style" content = "black" /> <title>My App</title> <link rel = "stylesheet" href = "https://cdnjs.cloudflare.com/ajax/libs/framework7/1.4.2/css/framework7.ios.min.css" /> <link rel = "stylesheet" href = "https://cdnjs.cloudflare.com/ajax/libs/framework7/1.4.2/css/framework7.ios.colors.min.css" /> </head> <body> <div class = "statusbar-overlay"></div> <div class = "panel-overlay"></div> <div class = "panel panel-right panel-reveal"> <div class = "content-block"> <p>Contents goes here...</p> </div> </div> <div class = "views"> <div class = "view view-main"> <div class = "navbar"> <div class = "navbar-inner"> <div class = "center sliding">My App</div> <div class = "right"> <a href = "#" class = "link icon-only open-panel"><i class = "icon icon-bars"></i></a> </div> </div> </div> <div class = "pages navbar-through toolbar-through"> <div data-page = "index" class = "page"> <div class = "page-content"> <p>This is simple application...</p> <p>page contents goes here!!!</p> </div> </div> </div> <div class = "toolbar"> <div class = "toolbar-inner"> <a href = "#" class = "link">First Link</a> <a href = "#" class = "link">Second Link</a> </div> </div> </div> </div> <script type = "text/javascript" src = "https://cdnjs.cloudflare.com/ajax/libs/framework7/1.4.2/js/framework7.min.js"></script> <script> // 此处初始化应用程序 var myApp = new Framework7(); // 如果您使用自定义 DOM 库,则将其保存到 $$ 变量 var $$ = Dom7; // 添加视图 var mainView = myApp.addView('.view-main', { // 为该视图启用动态导航栏: dynamicNavbar: true }); //use the 'pageInit' event handler for all pages $$(document).on('pageInit', function (e) { //get page data from event data var page = e.detail.page; }) </script> </body> </html>
输出
让我们执行以下步骤来查看上述代码的工作原理 −
将上述 html 代码保存为服务器根文件夹中的 status_bar.html 文件。
以 http://localhost/status_bar.html 的形式打开此 HTML 文件,输出显示如下。
该示例展示了 statusbar-overlay 的使用,它允许您在状态栏与应用程序重叠时构建全屏应用程序。