ios背景图像大小和命名在xamarin中

时间:2015-11-25 09:12:32

标签: ios iphone xamarin.forms human-interface

我正在使用xamarin.forms开发应用程序。该应用程序具有背景图像的屏幕。因此,为了获得适当的背景,请参考ios文档here,同时考虑启动/启动画面的尺寸,因为它们就像背景图像,但这不起作用。这就是我所遵循的:

iPhone

  • 320 x 480 Default.png
  • 640 x 960 Default@2x.png
  • 640 x 1136 Default-568h@2x.png
  • 750 x 1334 Default-667h@2x.png
  • 1242 x 2208 Default-736h@3x.png
  • 2208 x 1242 Default-Landscape@3x.png

ipad公司

  • 768 x 1024 Default-Portrait.png
  • 1536 x 2048 Default-Portrait@2x.png
  • 1024 x 768 Default-Landscape.png
  • 2048 x 1536 Default-Landscape@2x.png

iphone 6(iOS 9.0)中的图像正在重复。

修改 我需要在xamarin.forms内容页面中将图像的命名约定和大小用作背景图像。

有关此尺寸和命名的任何帮助吗?

1 个答案:

答案 0 :(得分:2)

我一直在努力解决这个问题,似乎iPhone 6(Plus)屏幕没有在Xamarin.Forms中实现。

<强> LaunchScreen

这可能是因为Apple themselves建议在iPhone 6或更高版本的iOS 8中为您的LaunchScreen使用Storyboard和/或XIB文件。

我引用:

  

在iOS 8及更高版本中,您可以创建XIB或Storyboard文件而不是   静态启动图像。在Interface中创建启动文件时   在Builder中,您使用大小类来定义不同的布局   不同的显示环境,您使用自动布局轻微   调整。使用大小类和自动布局意味着你可以   创建一个在所有设备和显示器上看起来都很好的启动文件   的环境中。

事实上,这是 支持Xamarin.Forms。

只需在您的资源文件中创建一个StoryBoard,配置启动画面并在info.plist文件中选择它作为LaunchScreen。

info.plist editor in Xamarin Studio

优点是它适用于所有设备。

背景图片

对于背景图片,根据Xamarin iOS documentation,此应该工作。 如果它不适用于Xamarin.Forms,您应该报告错误。 与此同时,您可以使用下面的自定义渲染器,取自Xamarin Forums或从该线程中检查另一个建议:

[assembly: ExportRenderer(typeof(InfoPage), typeof(InfoPage_iOS))]

namespace Oxaco_BBC.iOS
{
    public class InfoPage_iOS : PageRenderer
    {
        public override void ViewWillAppear(bool animated)
        {
            base.ViewWillAppear(false);

            UIGraphics.BeginImageContext(this.View.Frame.Size);
            UIImage i = UIImage.FromFile("Background.png");
            i = i.Scale(this.View.Frame.Size);

            this.View.BackgroundColor = UIColor.FromPatternImage(i);

        }
    }
}