Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/102.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# iOS加载覆盖不覆盖整个屏幕_C#_Ios_Xamarin.ios - Fatal编程技术网

C# iOS加载覆盖不覆盖整个屏幕

C# iOS加载覆盖不覆盖整个屏幕,c#,ios,xamarin.ios,C#,Ios,Xamarin.ios,我试图在自动登录HTTP调用期间显示覆盖。 我发现了,不知怎么的,它似乎过时了,但没有发现比这更新的东西 无论如何,叠加显示,但没有像预期的那样覆盖整个屏幕 调用代码如下: AppDelegate.FinishedLaunching var avc = new AutoLoginViewController(); var navController = new UINavigationController(avc); AutoLoginViewController.ViewDidLoad va

我试图在自动登录HTTP调用期间显示覆盖。 我发现了,不知怎么的,它似乎过时了,但没有发现比这更新的东西

无论如何,叠加显示,但没有像预期的那样覆盖整个屏幕

调用代码如下:

AppDelegate.FinishedLaunching

var avc = new AutoLoginViewController();
var navController = new UINavigationController(avc);
AutoLoginViewController.ViewDidLoad

var bounds = UIScreen.MainScreen.Bounds;

// show the loading overlay on the UI thread using the correct orientation sizing
loadPop = new LoadingOverlay(bounds, NSBundle.MainBundle.GetLocalizedString("connecting"));
View.Add(loadPop);
但结果如下:

如果我在LoadingOverlay构造函数中设置一个断点,我可以看到屏幕边界(iPhone 6)很好:

{{X=0,Y=0,宽=375,高=667}

显然,UIView宽度不正确

因为我们在2020年,也许还有另一种方式

谢谢你的帮助


编辑:该应用程序在iPhone 8 iOS 13.3模拟器上中断,因此我无法确定这是否与特定屏幕大小有关(我的情况下为1x)。

原因:

您似乎没有设置启动映像,因此无论是在模拟器还是真实设备上,边界值都是静态值

解决方案:

最简单的方法是将覆盖的大小设置为视图的边界

var bounds = View.Bounds;

或者您可以设置不同屏幕的所有启动图像大小。

您必须使用此解决方案吗?如果没有,那么如何使用?如果你同意的话,我可以添加一些例子!我可以接受,但为了回答这个问题,我想了解我使用的解决方案为何会有这样的行为。您的代码在我的项目中运行良好,因此您可以共享一个包含问题的示例,以便我可以在我这边进行测试。@LucasZhang MSFT您是否使用iPhone 6?您可以检查我的答案。
var bounds = View.Bounds;