如何在Xamarin.Forms应用程序中隐藏主页指示器?看起来我需要获取表单应用程序的根UIViewControler,并以某种方式重写PrefersHomeIndicatorAutoHidden以返回true。但是我没有访问根UIViewControler的权限...
你有任何想法如何隐藏在Xamarin.Forms应用程序中的家庭指标?
发布于 2020-08-27 23:10:11
在InitializeComponent()之后,我在Xamarin.Forms.Page的构造函数中使用了它
using Xamarin.Essentials;
using Xamarin.Forms.PlatformConfiguration;
using Xamarin.Forms.PlatformConfiguration.iOSSpecific;
// ...
if (Device.RuntimePlatform == Device.iOS &&
DeviceInfo.Version.Major > 11)
{
On<iOS>().SetPrefersHomeIndicatorAutoHidden(true);
}基于this source。
我的用例是在App Store的iOS模拟器中创建干净的屏幕截图。
发布于 2019-02-18 20:49:49
您应该能够简单地创建自定义渲染器并覆盖此属性。
如下所示:
[assembly: ExportRenderer(typeof(MyPage), typeof(HomeIndicatorRenderer))]
namespace MyApp
{
public class HomeIndicatorRenderer : PageRenderer
{
public override bool PrefersHomeIndicatorAutoHidden => true;
public override void ViewDidAppear(bool animated)
{
base.ViewDidAppear(animated);
SetNeedsUpdateOfHomeIndicatorAutoHidden();
}
}
}您可能应该混合检查版本是否为iOS 11或更高版本。
但正如前面所指出的,您可能需要小心处理这一点。我认为Apple文档甚至声明操作系统可以随意忽略此设置。
https://stackoverflow.com/questions/54743272
复制相似问题