Description
The iOS 7+ allows you to build full screen apps which could create an issue when your status bar overlaps your app. Framework7 solves this problem by detecting whether your app is in full screen mode or not. If your app is in full screen mode then, the Framework7 will automatically adds
with-statusbar-overlay class to
<html> (or removes if app is not in full screen mode) and you need to add
statusbar-overlay class in
<body> as shown in below code:
<html class="with-statusbar-overlay">
...
<body>
<div class="statusbar-overlay"></div>
...
By default,
<div> will always be hidden and fixed on top of your screen. It will only be visible when app is in full screen mode and
with-statusbar-overlay class is added to
<html>.
Example
The below example demonstrates use of status bar in the 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>
Output
Let's carry out the following steps to see how above code works:
- Save above html code as status_bar.html file in your server root folder.
- Open this HTML file as http://localhost/status_bar.html and output as below gets displayed.
The example shows the use of the
statusbar-overlay which allows you to build full screen apps when your status bar overlaps the app.
No comments:
Post a Comment