Xamarin.Forms ContentPage.BackgroundImage

Rob*_*ann 3 iphone ios xamarin.forms

  • Xamarin表格
  • VS2013 IDE

我知道还有其他主题,但是它们无法解决我的问题。

对于Android,背景图片效果很好。

BackgroundImage = Device.OnPlatform("Resources/HTbg@2x.png",
                                    "Drawable/HTMobile.png",
                                    "Images/HTMobile.png");
Run Code Online (Sandbox Code Playgroud)

对于iOS,我无法使其正常运行。

  • 我已经尝试过图像的普通版和视网膜版,这些版本的屏幕尺寸正确。
  • 我试过将它们放在项目的根文件夹中
  • 我尝试过具有透明或纯色图像背景的图像

在iOS中,在上述任何情况下,背景图片都只会在所有CustomContentPage控件的顶部显示白屏。我注释掉了代码的背景行,并且页面正常显示,并带有所有控件和导航链接。

使用以下代码(无“ Resouces”文件夹),页面正常显示,但无图像...

BackgroundImage = Device.OnPlatform("HTbg@2x.png",
                                    "Drawable/HTMobile.png",
                                    "Images/HTMobile.png");
Run Code Online (Sandbox Code Playgroud)

如何在iOS中设置背景图片?对于此答案,我需要了解以下内容:

  • 您将图像放置在项目中的什么位置以便正确拾取?
  • 您使用哪种类型的图像?尺寸?解析度?颜色深度?透明度?
  • 如果是4s,5s或6/6 + iPhone,如何让iOS“知道”要使用的图像?

编辑

ContentPage.BackgroundImage类型为FileImageSource-意味着将自动加载正确的分辨率;因此呼叫应该是...

BackgroundImage = Device.OnPlatform("HTbg.png",
                                    "Drawable/HTMobile.png",
                                    "Images/HTMobile.png");
Run Code Online (Sandbox Code Playgroud)

但这仍然行不通。我将添加4英寸图像版本,看看是否有帮助...

小智 5

通过将所需的映像添加到IOS资产目录中,可以解决IOS上的此问题。当Xamarin.Forms位于IOS pre 7之前的版本的Resources文件夹中时,它不会将图像加载到BackgroundImage属性中。这可能会节省一些时间。