Skip to content

Commit f45ddf9

Browse files
committed
fix(cordova): add status bar padding for content for all modes
closes #5934
1 parent 2a4602c commit f45ddf9

File tree

4 files changed

+91
-43
lines changed

4 files changed

+91
-43
lines changed

ionic/components/app/test/cordova/index.ts

Lines changed: 26 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -77,11 +77,36 @@ class Page3 {
7777
}
7878

7979

80+
@Page({
81+
template: `
82+
<ion-navbar *navbar>
83+
<ion-title>This is a tab page</ion-title>
84+
<button menuToggle>
85+
<ion-icon name="menu"></ion-icon>
86+
</button>
87+
<ion-buttons end>
88+
<button>
89+
<ion-icon name="funnel"></ion-icon>
90+
</button>
91+
</ion-buttons>
92+
</ion-navbar>
93+
<ion-content padding>
94+
<p>The toolbar should have status bar padding.</p>
95+
</ion-content>
96+
`
97+
})
98+
class TabPage1 {
99+
constructor(private nav: NavController) {
100+
101+
}
102+
}
103+
104+
80105
@Page({
81106
templateUrl: 'tabs.html'
82107
})
83108
class TabsPage {
84-
tab1Root = Page1;
109+
tab1Root = TabPage1;
85110
tab2Root = Page2;
86111
tab3Root = Page3;
87112

ionic/platform/cordova.ios.scss

Lines changed: 23 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -1,37 +1,40 @@
1-
@import "../globals.core";
1+
@import "../globals.ios";
22

33
// iOS Cordova
44
// --------------------------------------------------
55

66
$cordova-ios-statusbar-padding: 20px !default;
77

88

9-
&.platform-cordova.platform-ios {
9+
ion-navbar-section {
10+
height: calc(#{$toolbar-ios-height} + #{$cordova-ios-statusbar-padding});
11+
min-height: calc(#{$toolbar-ios-height} + #{$cordova-ios-statusbar-padding});
12+
}
13+
14+
ion-navbar-section > .toolbar ion-segment,
15+
ion-navbar-section > .toolbar ion-title,
16+
ion-navbar-section > .toolbar {
17+
padding-top: $cordova-ios-statusbar-padding;
18+
height: calc(#{$toolbar-ios-height} + #{$cordova-ios-statusbar-padding});
19+
min-height: calc(#{$toolbar-ios-height} + #{$cordova-ios-statusbar-padding});
20+
}
1021

11-
ion-navbar-section {
22+
ion-nav > ion-page,
23+
ion-menu {
24+
> .toolbar.statusbar-padding:first-child ion-segment,
25+
> .toolbar.statusbar-padding:first-child ion-title,
26+
> .toolbar.statusbar-padding:first-child {
27+
padding-top: $cordova-ios-statusbar-padding;
1228
height: calc(#{$toolbar-ios-height} + #{$cordova-ios-statusbar-padding});
1329
min-height: calc(#{$toolbar-ios-height} + #{$cordova-ios-statusbar-padding});
1430
}
1531

16-
ion-navbar ion-title,
17-
ion-navbar ion-segment, {
32+
> ion-content.statusbar-padding:first-child scroll-content {
1833
padding-top: $cordova-ios-statusbar-padding;
1934
}
2035

21-
ion-navbar,
22-
ion-app > ion-toolbar:first-child,
23-
ion-app > ion-toolbar:first-child ion-title,
24-
ion-app > ion-toolbar:first-child ion-segment,
25-
ion-menu > ion-toolbar:first-child,
26-
ion-menu > ion-toolbar:first-child ion-title,
27-
ion-menu > ion-toolbar:first-child ion-segment,
28-
ion-page.modal > ion-toolbar:first-child,
29-
ion-page.modal > ion-toolbar:first-child ion-title,
30-
ion-page.modal > ion-toolbar:first-child ion-segment, {
31-
padding-top: calc(#{$toolbar-ios-padding} + #{$cordova-ios-statusbar-padding});
32-
33-
height: calc(#{$toolbar-ios-height} + #{$cordova-ios-statusbar-padding});
34-
min-height: calc(#{$toolbar-ios-height} + #{$cordova-ios-statusbar-padding});
36+
> ion-content.statusbar-padding:first-child[padding] scroll-content,
37+
> ion-content.statusbar-padding:first-child[padding-top] scroll-content {
38+
padding-top: calc(#{$content-ios-padding} + #{$cordova-ios-statusbar-padding});
3539
}
36-
3740
}

ionic/platform/cordova.md.scss

Lines changed: 21 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,26 +1,36 @@
1-
@import "../globals.core";
1+
@import "../globals.md";
22

33
// iOS Cordova
44
// --------------------------------------------------
55

66
$cordova-ios-statusbar-padding: 20px !default;
77

88

9-
&.platform-cordova.platform-ios {
9+
ion-navbar-section {
10+
height: calc(#{$toolbar-md-height} + #{$cordova-ios-statusbar-padding});
11+
min-height: calc(#{$toolbar-md-height} + #{$cordova-ios-statusbar-padding});
12+
}
13+
14+
ion-navbar-section > .toolbar {
15+
padding-top: $cordova-ios-statusbar-padding;
16+
height: calc(#{$toolbar-md-height} + #{$cordova-ios-statusbar-padding});
17+
min-height: calc(#{$toolbar-md-height} + #{$cordova-ios-statusbar-padding});
18+
}
1019

11-
ion-navbar-section {
20+
ion-nav > ion-page,
21+
ion-menu {
22+
> .toolbar.statusbar-padding:first-child {
23+
padding-top: $cordova-ios-statusbar-padding;
1224
height: calc(#{$toolbar-md-height} + #{$cordova-ios-statusbar-padding});
1325
min-height: calc(#{$toolbar-md-height} + #{$cordova-ios-statusbar-padding});
1426
}
1527

16-
ion-navbar,
17-
ion-app > ion-toolbar:first-child,
18-
ion-menu > ion-toolbar:first-child,
19-
ion-page.modal > ion-toolbar:first-child {
20-
padding-top: calc(#{$toolbar-md-padding} + #{$cordova-ios-statusbar-padding});
21-
22-
height: calc(#{$toolbar-md-height} + #{$cordova-ios-statusbar-padding});
23-
min-height: calc(#{$toolbar-md-height} + #{$cordova-ios-statusbar-padding});
28+
> ion-content.statusbar-padding:first-child scroll-content {
29+
padding-top: $cordova-ios-statusbar-padding;
2430
}
2531

32+
> ion-content.statusbar-padding:first-child[padding] scroll-content,
33+
> ion-content.statusbar-padding:first-child[padding-top] scroll-content {
34+
padding-top: calc(#{$content-md-padding} + #{$cordova-ios-statusbar-padding});
35+
}
2636
}

ionic/platform/cordova.wp.scss

Lines changed: 21 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,26 +1,36 @@
1-
@import "../globals.core";
1+
@import "../globals.wp";
22

33
// iOS Cordova
44
// --------------------------------------------------
55

66
$cordova-ios-statusbar-padding: 20px !default;
77

88

9-
&.platform-cordova.platform-ios {
9+
ion-navbar-section {
10+
height: calc(#{$toolbar-wp-height} + #{$cordova-ios-statusbar-padding});
11+
min-height: calc(#{$toolbar-wp-height} + #{$cordova-ios-statusbar-padding});
12+
}
13+
14+
ion-navbar-section > .toolbar {
15+
padding-top: $cordova-ios-statusbar-padding;
16+
height: calc(#{$toolbar-wp-height} + #{$cordova-ios-statusbar-padding});
17+
min-height: calc(#{$toolbar-wp-height} + #{$cordova-ios-statusbar-padding});
18+
}
1019

11-
ion-navbar-section {
20+
ion-nav > ion-page,
21+
ion-menu {
22+
> .toolbar.statusbar-padding:first-child {
23+
padding-top: $cordova-ios-statusbar-padding;
1224
height: calc(#{$toolbar-wp-height} + #{$cordova-ios-statusbar-padding});
1325
min-height: calc(#{$toolbar-wp-height} + #{$cordova-ios-statusbar-padding});
1426
}
1527

16-
ion-navbar,
17-
ion-app > ion-toolbar:first-child,
18-
ion-menu > ion-toolbar:first-child,
19-
ion-page.modal > ion-toolbar:first-child {
20-
padding-top: calc(#{$toolbar-wp-padding} + #{$cordova-ios-statusbar-padding});
21-
22-
height: calc(#{$toolbar-wp-height} + #{$cordova-ios-statusbar-padding});
23-
min-height: calc(#{$toolbar-wp-height} + #{$cordova-ios-statusbar-padding});
28+
> ion-content.statusbar-padding:first-child scroll-content {
29+
padding-top: $cordova-ios-statusbar-padding;
2430
}
2531

32+
> ion-content.statusbar-padding:first-child[padding] scroll-content,
33+
> ion-content.statusbar-padding:first-child[padding-top] scroll-content {
34+
padding-top: calc(#{$content-wp-padding} + #{$cordova-ios-statusbar-padding});
35+
}
2636
}

0 commit comments

Comments
 (0)