gpt4 book ai didi

xamarin - 设置 View 的背景图像,并进行拉伸(stretch)以适应 Xamarin

转载 作者:行者123 更新时间:2023-12-02 16:42:02 24 4
gpt4 key购买 nike

我是 Xamarin 新手。我实际上正在尝试设置 View 的背景图像并拉伸(stretch)它。

该图像是 2048x1536 像素的 png。

nfloat vpHeight = View.Bounds.Height;
nfloat vpWidth = View.Bounds.Width;
Console.WriteLine(vpWidth);
Console.WriteLine(vpHeight);

上面的代码将返回 1024x768(这是横向位置)。

var img = UIImage.FromFile("pages/p1.png");
UIImageView imgView = new UIImageView(img);
imgView.ContentMode = UIViewContentMode.ScaleAspectFit;

var prevPage = new UIView()
{
Frame = new CoreGraphics.CGRect(0, 0, vpWidth, vpHeight)
};
prevPage.Add(imgView);

这是我设置背景的代码,但结果只是 x 和 y 中图像的一半,如下图所示:

enter image description here

那么,如何让图像适应 View 的宽度和高度呢?

我!!

最佳答案

我会创建一个 UIImageView 作为背景,如下所示:

var img = UIImage.FromFile("pages/p1.png");
UIImageView imgView = new UIImageView(img);
imgView.ContentMode = UIViewContentMode.ScaleAspectFit;

然后将其添加到您正在使用的任何 View 中。

ContentMode 可以像这样使用: enter image description here

更新我会将其添加到 prevPage,如下所示:

var prevPage = new UIView()
{
Frame = new CoreGraphics.CGRect(0, 0, vpWidth, vpHeight)
};

var img = UIImage.FromFile("pages/p1.png");
UIImageView imgView = new UIImageView(new CGRect(0,0,vpWidth,vpHeight));
imgView.Image = img;
imgView.ContentMode = UIViewContentMode.ScaleAspectFit; // or ScaleAspectFill

prevPage.Add(imgView);

还值得注意的是,使用 View.Bounds 来定位 View 有点笨拙。我会研究一下自动布局,因为您会在不同的设备和方向上遇到问题。这些是关于自动布局的一些很好的教程,它们可能是 native 代码,但您正在寻找 View 的关系而不是代码。

Raywenderlich tutorial

Other Tutorial

任何与自动布局有关的问题只需问另一个问题。

关于xamarin - 设置 View 的背景图像,并进行拉伸(stretch)以适应 Xamarin,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41557769/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com