【问题标题】:Background image on iPhone 11 simulator is not appropriate sizeiPhone 11 模拟器上的背景图片大小不合适
【发布时间】:2020-05-14 22:58:28
【问题描述】:

我正在使用 Xamarin.Forms 4.6.0,并按照说明将图像暂时放入 Assets.xcassets

它在 iPhone 8+ 和 iPhone8 上运行良好,但是当我在 iPhone 11 上尝试时,我得到 在我的 Android 手机上一切正常。

我用于此背景的资产大小为:

  • 1@ - 375x667
  • 2@ - 750 x 1334
  • 3@ - 1242 x 2208

我发现 iPhone 11 的屏幕尺寸是 1792 x 828?如果是这样,我需要把那个决议放在哪里?我的资产文件中已经占用了 1@、2@ 和 3@。

【问题讨论】:

  • 你能把图片的代码分享给我们吗?你想要什么实际结果?能不能也给我看一下 iPhone8 的截图。

标签: ios xamarin xamarin.forms xamarin.ios


【解决方案1】:

试试这个:


[assembly: ExportRenderer(typeof(YourPage), typeof(CustomPage))]

namespace Your.NameSpace.Project.iOS
{
    public class CustomPage : PageRenderer
    {
        public override void ViewWillAppear(bool animated)
        {
            base.ViewWillAppear(false);

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

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

        }
    }
}

如果您的整个项目使用背景图片,请将 YourPage 替换为 Page

【讨论】:

  • 我是如何使用这个渲染器的?我不确定我是否理解你的代码,我需要把它放在哪里?
  • 只需扩展docs.microsoft.com/en-us/dotnet/api/… 并将其命名为YourPage 就像@Wilson 说的那样,并使用YourPage 作为默认页面类
猜你喜欢
  • 2013-09-04
  • 1970-01-01
  • 2017-10-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-11-13
相关资源
最近更新 更多