【发布时间】:2021-10-19 12:21:40
【问题描述】:
在 Xamarin Forms IOS 上需要帮助(Android 工作正常)。当我在一个选项卡式项目上打开一个新页面时,IOS上的导航栏出现INVISIBLE,但是上下滚动页面时,导航栏出现了,虽然不可见,但是后退按钮在那里并且可以点击。项目的所有其他页面都有相同的行为,后退按钮在那里,但不可见。见下图。 如何设置导航栏对所有页面可见?
在此处查看 GIF:
【问题讨论】:
在 Xamarin Forms IOS 上需要帮助(Android 工作正常)。当我在一个选项卡式项目上打开一个新页面时,IOS上的导航栏出现INVISIBLE,但是上下滚动页面时,导航栏出现了,虽然不可见,但是后退按钮在那里并且可以点击。项目的所有其他页面都有相同的行为,后退按钮在那里,但不可见。见下图。 如何设置导航栏对所有页面可见?
在此处查看 GIF:
【问题讨论】:
这是iOS15的默认行为更改,为了解决这个问题我们只需要修改UINavigationBarAppearance 的scrollEdgeAppearance属性。
将以下代码放入iOS项目中的AppDelegate.cs或SceneDelegate.cs中。
UINavigationBarAppearance a = new UINavigationBarAppearance();
a.ConfigureWithTransparentBackground();
a.BackgroundColor = UIColor.Blue;
a.TitleTextAttributes = new UIStringAttributes() { ForegroundColor = UIColor.White};
UINavigationBar.Appearance.StandardAppearance = a;
UINavigationBar.Appearance.CompactAppearance = a;
UINavigationBar.Appearance.ScrollEdgeAppearance = a;
参考
【讨论】: