Xamarin 和 ios 10 - 所有页面都移到了标题栏后面
Xamarin and ios 10 - All Pages moved up behind Title Bar
我最近更新到 ios 10 和我所有的 Xamarin 页面,并且已经被提升到标题栏后面。此外,页面底部现在不接触屏幕,它也被提升了。
这不仅发生在本地项目上,也发生在我已经在应用商店中发布的应用上!
页面上移了大约 200 像素或标题栏的高度。
有人知道我可以为此做些什么吗???!?
我的 Xamarin.Forms 应用程序也遇到了同样的问题。我必须做的是通过自定义渲染器将 NavigationBar translucent 属性 设置为 false。如果您不使用表单,则可以在 ViewController 本身中设置此值。
var navBar = this.NavigationController?.NavigationBar;
if (navBar != null)
{
navBar.Translucent = false;
}
同样,如果您不使用表单,请尝试在 ViewController 或 Storyboard 中将导航栏的半透明 属性 设置为 false。
我要说的是,对于 Forms,只有旧版本的 Xamarin.Forms 才需要这样做,而最新版本会自行修复此问题。
编辑:应该可以解决此问题的快速(未经测试)内容页面渲染器
using TestApp.iOS;
using Xamarin.Forms;
using Xamarin.Forms.Platform.iOS;
[assembly:ExportRenderer(typeof(ContentPage), typeof(ContentPageRenderer))]
namespace TestApp.iOS
{
public class ContentPageRenderer : PageRenderer
{
public override void ViewWillAppear(bool animated)
{
base.ViewWillAppear(animated);
var navBar = this.NavigationController?.NavigationBar;
if (navBar != null)
{
navBar.Translucent = false;
}
}
}
}
要解决此问题,请更新到最新版本的 Xamarin Forms Nuget 包。为此,请在 Xamarin Studio 中右键单击您的解决方案,然后单击“更新 Nuget 包”。这将更新您的所有 NuGet 包,包括 Xamarin.Forms nuget 包,并将解决此问题。
请注意,仅安装最新版本的 Xamarin Studio 无法解决此问题,您必须手动更新 Nuget 包!
感谢@Scott 的帮助!!!
我最近更新到 ios 10 和我所有的 Xamarin 页面,并且已经被提升到标题栏后面。此外,页面底部现在不接触屏幕,它也被提升了。
这不仅发生在本地项目上,也发生在我已经在应用商店中发布的应用上!
页面上移了大约 200 像素或标题栏的高度。
有人知道我可以为此做些什么吗???!?
我的 Xamarin.Forms 应用程序也遇到了同样的问题。我必须做的是通过自定义渲染器将 NavigationBar translucent 属性 设置为 false。如果您不使用表单,则可以在 ViewController 本身中设置此值。
var navBar = this.NavigationController?.NavigationBar;
if (navBar != null)
{
navBar.Translucent = false;
}
同样,如果您不使用表单,请尝试在 ViewController 或 Storyboard 中将导航栏的半透明 属性 设置为 false。
我要说的是,对于 Forms,只有旧版本的 Xamarin.Forms 才需要这样做,而最新版本会自行修复此问题。
编辑:应该可以解决此问题的快速(未经测试)内容页面渲染器
using TestApp.iOS;
using Xamarin.Forms;
using Xamarin.Forms.Platform.iOS;
[assembly:ExportRenderer(typeof(ContentPage), typeof(ContentPageRenderer))]
namespace TestApp.iOS
{
public class ContentPageRenderer : PageRenderer
{
public override void ViewWillAppear(bool animated)
{
base.ViewWillAppear(animated);
var navBar = this.NavigationController?.NavigationBar;
if (navBar != null)
{
navBar.Translucent = false;
}
}
}
}
要解决此问题,请更新到最新版本的 Xamarin Forms Nuget 包。为此,请在 Xamarin Studio 中右键单击您的解决方案,然后单击“更新 Nuget 包”。这将更新您的所有 NuGet 包,包括 Xamarin.Forms nuget 包,并将解决此问题。
请注意,仅安装最新版本的 Xamarin Studio 无法解决此问题,您必须手动更新 Nuget 包!
感谢@Scott 的帮助!!!