编辑UINavigationBar半透明在底部添加填充

时间:2017-01-30 19:50:02

标签: c# ios iphone xamarin

我已经和Xamarin和iOS一起开发了大约两个星期了,目前我正在试图弄清楚为什么会发生一个奇怪的错误。我看了整整一遍谷歌甚至是SO,但无法找到答案......无论如何都是有效的。正如标题所说,每当我更改Translucent的{​​{1}}布尔属性时,都会添加额外的填充,看似没有理由。这可以在下面的图片中看到:enter image description here

我使用的代码行是NavigationController.NavigationBar,没有该行,应用程序如下所示: enter image description here

除该行外,this.NavigationController.NavigationBar.Translucent = false;未经编辑。那么,有谁知道我做错了什么?任何帮助将不胜感激......谢谢!

2 个答案:

答案 0 :(得分:0)

这取决于您构建视图及其包含的方式。 确保EdgesForExtendedLayoutApple Docu)具有正确的值。我建议UIRectEdge.All。

如果您使用的是scrollView,请检查automaticallyAdjustsScrollViewInsets属性。

答案 1 :(得分:0)

所以,我实际上通过在Xamarin论坛上发布并浏览their documentation来了解UINavigationBar.Translucent属性是否会调整视图,如果您将其关闭以使所有屏幕内容在现在下方可见不透明的UINavigationBar。我只是将UI元素放在不必要的大Y值上,因为在.Translucent = false;

之后我没有意识到屏幕更改

我将每个UI元素的.Frame = new CGRect(x, y, w, h)属性更改为0,位于导航栏的正下方,而不是在其下方。