首页 > 解决方案 > iPhone 11 模拟器上的背景图片大小不合适

问题描述

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

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

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

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

标签: iosxamarinxamarin.formsxamarin.ios

解决方案


尝试这个:


[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


推荐阅读