我正在使用xamarin.forms开发应用程序。该应用程序具有背景图像的屏幕。因此,为了获得适当的背景,请参考ios文档here,同时考虑启动/启动画面的尺寸,因为它们就像背景图像,但这不起作用。这就是我所遵循的:
iPhone
ipad公司
iphone 6(iOS 9.0)中的图像正在重复。
修改 我需要在xamarin.forms内容页面中将图像的命名约定和大小用作背景图像。
有关此尺寸和命名的任何帮助吗?
答案 0 :(得分:2)
我一直在努力解决这个问题,似乎iPhone 6(Plus)屏幕没有在Xamarin.Forms中实现。
<强> LaunchScreen 强>
这可能是因为Apple themselves建议在iPhone 6或更高版本的iOS 8中为您的LaunchScreen使用Storyboard和/或XIB文件。
我引用:
在iOS 8及更高版本中,您可以创建XIB或Storyboard文件而不是 静态启动图像。在Interface中创建启动文件时 在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);
}
}
}