我的目标是从另一个内容页面的顶部查看底部页面的内容。为了实现这一点,我使用了PushModalAsync进行导航,并将导航页面的BackgroundColor属性设置为Transparent。我可以在Android上查看底部页面的内容。然而在iOS平台上,总是显示黑色,我无法阅读底部页面的内容。2为什么即使在PushModalAsync中设置为透明,背景颜色也总是黑色?
注意:当我将导航更改为PushAsync时,iOS平台显示白色。
**预期行为:**使用PushModalAsync导航时,背景色不应为黑色,而应是透明的
**实际行为:**使用PushModalAsync导航时,即使内容页面背景颜色设置为透明,背景颜色也始终为黑色
Android屏幕截图
iOS屏幕截图
问题再现示例如下所示:DemoSample
2条答案
按热度按时间cpjpxq1n1#
如果你想这样做,这是不可能的(这将需要这么多的工作,你不能指望有人提供你的解决方案)。
在iOS上,该控件(
ViewController
)在表示模式下是这样绘制的。因此,只要您使用该控件和该模式,它就会以这种方式工作,与您使用Xamarin或其他东西无关。由于ViewControllers是最基本的控件,因此用其他东西替换它们是不现实的。但您可以替换表示模式。在Xamarin.Forms中,您可以这样做:这将导致一些不同的视觉表现,但这是唯一的方法,有一个
ViewController
绘制在另一个没有进入一些深度定制,将需要大量的代码,特别是在Xamarin.Forms。您也可以尝试一些其他值,但默认值将不起作用。
7uhlpewt2#
在iOS中,层次结构由视图控制器管理。每个页面都有单独的视图控制器。页面由窗口、根视图和子视图组成。通过将背景颜色设置为透明,您无法看到上一页的布局。
有关详细信息,请参阅以下文档:
用户界面|微软
视图控制器层次结构|苹果