There is no issue with your layout, the default button ripple / shadow effect takes that space. You could get rid of it by applying border to your button.
XML
<Page navigatingTo="onNavigatingTo" class="page" xmlns="http://schemas.nativescript.org/tns.xsd">
<GridLayout>
<StackLayout row="0" verticalAlignment="top" class="header">
<Image horizontalAlignment="center" class="logo" src="http://www.stickpng.com/assets/images/584c4c0b1fc21103bb375ba9.png" />
</StackLayout>
<StackLayout row="1" verticalAlignment="bottom" horizontalAlignment="center"
class="footer">
<Button class="button is-red" text="LOG IN" tap="onSigninButtonTap"></Button>
<Button class="button is-blue" text="SIGN UP" tap="onSigninButtonTap"></Button>
</StackLayout>
</GridLayout>
</Page>
CSS
.button {
width: 100%;
color: #fff;
font-size: 22px;
padding: 50px;
height: 200px;
font-weight: 600;
border-width: 1;
}
.button.is-red {
border-color: #F8455A;
background-color: #F8455A ;
}
.button.is-blue {
border-color: #00ADFC;
background-color: #00ADFC;
}
Updated Playground
Edit: For iPhone X or any device with notch display:
It's the issue with safe area, if you want your component to stretch beyond the safe area insets, you just have to set iosOverflowSafeArea="true"
on it.
Try setting it on the sign up button, you might have to adjust the height accordingly on these devices if you do that. Use nativescript-platform-css for device specific CSS stylings.