IOS 不在启动画面中显示徽标
IOS don't show logo in splash screen
我在我的 Xamarin 应用程序中创建了一个 SplashPage.cs,代码:
public class SplashPage : ContentPage
{
Image splashImage;
public SplashPage()
{
NavigationPage.SetHasNavigationBar(this, false);
var sub = new AbsoluteLayout();
splashImage = new Image
{
Source = "logo.png",
WidthRequest = 100,
HeightRequest = 100
};
AbsoluteLayout.SetLayoutFlags(splashImage, AbsoluteLayoutFlags.PositionProportional);
AbsoluteLayout.SetLayoutBounds(splashImage, new Rectangle(0.5, 0.5, AbsoluteLayout.AutoSize, AbsoluteLayout.AutoSize));
sub.Children.Add(splashImage);
this.BackgroundColor = Color.FromHex("#ffff");
this.Content = sub;
}
protected override async void OnAppearing()
{
base.OnAppearing();
await splashImage.ScaleTo(1, 2000);
await splashImage.ScaleTo(0.9, 1500, Easing.Linear);
await splashImage.ScaleTo(150, 1200, Easing.Linear);
Application.Current.MainPage = new NavigationPage(new LoginPage());
}
}
然后在App.xaml.cs
public App()
{
InitializeComponent();
MainPage = new NavigationPage(new SplashPage());
}
Android 中的目录是 Resources/drawable/logo.png
IOS 的目录是 Resources/logo.png
当我在 android phone 中编译应用程序时正确加载,但是当我尝试在 IOS 中使用它时它只是没有加载我的图标,只显示空白页面。我做错了什么?
启动画面的主要目的是给一些时间来加载应用程序及其组件。如果是 Xamarin.Forms
个应用程序,则此时间用于加载 Xamarin 运行时。
现在,您的启动画面本身正在使用 Xamarin.Forms 组件 ContentPage
。所以只有Xamarin运行时完全加载后才能显示。
最好的方法是以 iOS 和 Android 的本机方式实现闪屏。
Here 是关于如何在 iOS 和 Android.
上原生实现闪屏的很好的教程
是的,当您使用格式不正确或非常complex.And的图像时,通常会出现这种情况。我以前遇到过类似的问题。
在 ios 中强烈推荐矢量图形。
我已经测试过这个问题,当我使用矢量图像时,它在 ios 和 android 中都能正常工作。
注意:您可以使用下图进行尝试。
我在我的 Xamarin 应用程序中创建了一个 SplashPage.cs,代码:
public class SplashPage : ContentPage
{
Image splashImage;
public SplashPage()
{
NavigationPage.SetHasNavigationBar(this, false);
var sub = new AbsoluteLayout();
splashImage = new Image
{
Source = "logo.png",
WidthRequest = 100,
HeightRequest = 100
};
AbsoluteLayout.SetLayoutFlags(splashImage, AbsoluteLayoutFlags.PositionProportional);
AbsoluteLayout.SetLayoutBounds(splashImage, new Rectangle(0.5, 0.5, AbsoluteLayout.AutoSize, AbsoluteLayout.AutoSize));
sub.Children.Add(splashImage);
this.BackgroundColor = Color.FromHex("#ffff");
this.Content = sub;
}
protected override async void OnAppearing()
{
base.OnAppearing();
await splashImage.ScaleTo(1, 2000);
await splashImage.ScaleTo(0.9, 1500, Easing.Linear);
await splashImage.ScaleTo(150, 1200, Easing.Linear);
Application.Current.MainPage = new NavigationPage(new LoginPage());
}
}
然后在App.xaml.cs
public App()
{
InitializeComponent();
MainPage = new NavigationPage(new SplashPage());
}
Android 中的目录是 Resources/drawable/logo.png
IOS 的目录是 Resources/logo.png
当我在 android phone 中编译应用程序时正确加载,但是当我尝试在 IOS 中使用它时它只是没有加载我的图标,只显示空白页面。我做错了什么?
启动画面的主要目的是给一些时间来加载应用程序及其组件。如果是 Xamarin.Forms
个应用程序,则此时间用于加载 Xamarin 运行时。
现在,您的启动画面本身正在使用 Xamarin.Forms 组件 ContentPage
。所以只有Xamarin运行时完全加载后才能显示。
最好的方法是以 iOS 和 Android 的本机方式实现闪屏。
Here 是关于如何在 iOS 和 Android.
上原生实现闪屏的很好的教程是的,当您使用格式不正确或非常complex.And的图像时,通常会出现这种情况。我以前遇到过类似的问题。 在 ios 中强烈推荐矢量图形。
我已经测试过这个问题,当我使用矢量图像时,它在 ios 和 android 中都能正常工作。
注意:您可以使用下图进行尝试。