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>
// here initialize the app
var myApp = new Framework7();
// if your using custom DOM library, then save it to $ variable
var $ = Dom7;
// Add the view
var mainView = myApp.addView('.view-main', {
// enable the dynamic navbar for this view:
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 文件。
将此 HTML 文件打开为 http://localhost/status_bar.html,输出如下所示。
该示例展示了
statusbar-overlay 的使用,它允许您在状态栏与应用重叠时构建全屏应用。