0

将 Visual Studio 从 2017 年更新到 2019 年,将 Visual Studio for Mac 从 2017 年更新到 2019 年,并将“Xamarin.iOS 和 Xamarin.Mac SDK”从 12.4.0.64 更新到 13.10.0.17 之后,iOS 应用程序上出现了一些奇怪的东西。当用户通过以下方式打开新页面时:

 await Application.Current.MainPage.Navigation.PushModalAsync(page, animated);

然后额外的填充出现在顶部(大约 50 像素),这是透明的 - 用户可以在下面看到上一页的一部分(带有圆角)。此外,页面有左右边距(约 3 px),页面有圆角。Visual Studio 2017 中的相同代码以 100% 的屏幕覆盖率显示页面。2019 年约为 90%。它看起来像一个弹出窗口。如何在 2019 版中获得 100% 的覆盖率?

4

2 回答 2

0

Apple 已根据您所描述的内容更改了 iOS 13 上模式页面的默认呈现方式。

但是,默认情况下,此行为不会出现在 Xamarin.Forms 中。您可能有一些导致此问题的自定义渲染器或插件。

于 2020-02-05T11:49:24.940 回答
0

这已由 Apple 从 iOS 13 更改。如果需要和之前导航一样的效果。

这里有一个简单的解决方法。使用PushAsync替换PushModalAsync如下:

await Application.Current.MainPage.Navigation.PushAsync(page, animated);

如果不需要NavigationBarBackButton相同PushModalAsync,您可以将它们隐藏如下:

NavigationPage.SetHasBackButton(itemDetailPage, false); //Hide BackButton

NavigationPage.SetHasNavigationBar(itemDetailPage,false);//Hide NavigationBar
于 2020-02-06T08:12:28.470 回答