ios - iPhone 11 模拟器上的背景图片大小不合适
问题描述
我正在使用 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@。
解决方案
尝试这个:
[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
推荐阅读
- c# - 谓词如何与 ListCollectionView 一起使用
- php - Trying to sort by price but not working in WordPress
- ruby-on-rails - 添加 pg_dump 后运行 rails 服务器时 main:Object (NoMethodError) 的未定义方法“命名空间”
- css - ReactJS:如何将浮动元素 -textB- 和初始放置的文本 -textA- 放在同一基线上?
- python - 如何从模型预测中获取 GMM 聚类信息?
- mongodb - 使用邮递员 + 快递时 PUT/PATCH 未通过
- azure - Azure 应用程序网关不允许客户端证书
- java - 使用浮点数组和布尔值作为参数编写布尔方法
- angular - 如何将 CORS 标头添加到 401/403 响应?
- python - 如何使用 tkinter 更改下拉菜单的位置