【问题标题】:ios background images sizes and naming in xamarinios背景图像大小和xamarin中的命名
【发布时间】:2016-02-28 00:04:48
【问题描述】:

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

iPhone

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

iPad

  • 768 x 1024 默认人像.png
  • 1536 x 2048 默认-Portrait@2x.png
  • 1024 x 768 默认风景.png
  • 2048 x 1536 默认-Landscape@2x.png

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

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

对这个尺寸和命名有帮助吗?

【问题讨论】:

  • 更好:1536 x 2008 Default-Portrait@2x.png 和 2048 x 1496 Default-Landscape@2x.png

标签: ios iphone xamarin.forms human-interface


【解决方案1】:

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

启动屏幕

这可能是因为Apple themselves 建议从 iPhone 6 或更好的 iOS 8 开始为您的 LaunchScreen 使用 Storyboard 和/或 XIB 文件。

我引用:

在 iOS 8 及更高版本中,您可以创建 XIB 或故事板文件,而不是 静态启动图像。在界面中创建启动文件时 Builder,您使用尺寸类来定义不同的布局 不同的显示环境,您使用自动布局来制作次要 调整。使用尺寸等级和自动布局意味着您可以 创建一个在所有设备上看起来都不错的启动文件并显示 环境。

这其实受Xamarin.Forms支持的。

只需在您的资源文件中创建一个 StoryBoard,配置您的初始屏幕并在您的 info.plist 文件中选择它作为 LaunchScreen。

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

背景图片

至于背景图片,根据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);

        }
    }
}

【讨论】:

猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2018-10-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-06-02
  • 2023-03-08
相关资源
最近更新 更多