[iOS];如何为顶部和底部状态栏保留 space
[iOS]; How to leave space for top and bottom status bar
我发现 (至少在最新的 iPhones 上)没有多大意义,因为顶部的 space 已部分消耗,例如通过相机。
底部的类似问题:有一个 'swipe bar' 应该留一些 space。
因此我的问题是:为 iPhone 屏幕顶部的状态栏和屏幕底部的 'swipe bar' 保留适量的 space 的正确方法是什么? iPhone 屏幕?
提前致谢
的确,确保应用内容不会被 'notch' 或 current-generation iPhone 上的底部滑动区域遮挡(以及一些较新的 Android 设备以及)是一个重要的考虑因素。
Uno 平台使用 VisibleBoundsPadding behavior 处理此问题。您可以将此行为附加到任何兼容的容器(例如 Panel
或 Border
),容器的 content 将被填充以保持在 'safe' 屏幕区域。
一般来说,您应该将应用程序中的所有 'content'(例如文本、图像、交互元素)放置在 VisibleBoundsPadding
区域内,但是一些视觉元素,例如 full-screen 背景可能走出去。
您可以将 VisibleBoundsPadding
放置在应用程序中您希望的任何位置(包括多个位置),但通常将其放置在根元素上或根元素附近是有意义的。它将自动调整以适应旋转和其他布局更新。
这是一个简单的例子:
<Page x:Class="UnoTestbed20.MainPage"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:local="using:UnoTestbed20"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:toolkit="using:Uno.UI.Toolkit"
mc:Ignorable="d">
<Grid Background="LightBlue" toolkit:VisibleBoundsPadding.PaddingMask="All">
<Border Background="LightYellow">
<TextBlock Text="Hello, world!"
Margin="20"
FontSize="30" />
</Border>
</Grid>
</Page>
结果显示在 iPhone 11:
我发现
底部的类似问题:有一个 'swipe bar' 应该留一些 space。
因此我的问题是:为 iPhone 屏幕顶部的状态栏和屏幕底部的 'swipe bar' 保留适量的 space 的正确方法是什么? iPhone 屏幕?
提前致谢
的确,确保应用内容不会被 'notch' 或 current-generation iPhone 上的底部滑动区域遮挡(以及一些较新的 Android 设备以及)是一个重要的考虑因素。
Uno 平台使用 VisibleBoundsPadding behavior 处理此问题。您可以将此行为附加到任何兼容的容器(例如 Panel
或 Border
),容器的 content 将被填充以保持在 'safe' 屏幕区域。
一般来说,您应该将应用程序中的所有 'content'(例如文本、图像、交互元素)放置在 VisibleBoundsPadding
区域内,但是一些视觉元素,例如 full-screen 背景可能走出去。
您可以将 VisibleBoundsPadding
放置在应用程序中您希望的任何位置(包括多个位置),但通常将其放置在根元素上或根元素附近是有意义的。它将自动调整以适应旋转和其他布局更新。
这是一个简单的例子:
<Page x:Class="UnoTestbed20.MainPage"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:local="using:UnoTestbed20"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:toolkit="using:Uno.UI.Toolkit"
mc:Ignorable="d">
<Grid Background="LightBlue" toolkit:VisibleBoundsPadding.PaddingMask="All">
<Border Background="LightYellow">
<TextBlock Text="Hello, world!"
Margin="20"
FontSize="30" />
</Border>
</Grid>
</Page>
结果显示在 iPhone 11: