Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/typescript/8.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
Xamarin.ios 旋转设备之前,UIScreen.MainScreen.Bounds不正确_Xamarin.ios - Fatal编程技术网

Xamarin.ios 旋转设备之前,UIScreen.MainScreen.Bounds不正确

Xamarin.ios 旋转设备之前,UIScreen.MainScreen.Bounds不正确,xamarin.ios,Xamarin.ios,我已经搜索过了,但什么也找不到。在我的monotouch应用程序中,我调用UIScreen.MainScreen.Bounds来获取屏幕的宽度/高度。当我第一次以横向模式启动应用程序时,宽度返回768,高度返回1024(即纵向)。一旦我旋转设备一次,一切都很好 有人为此找工作吗?我注意到,如果我添加一个UIScrollView作为我的控制器的主视图,它可以通过IOS正确调整大小,因此信息似乎就在那里,这是monotouch的一个bug吗 这发生在模拟器和设备(iPad)上。据我所知,当应用程序启

我已经搜索过了,但什么也找不到。在我的monotouch应用程序中,我调用UIScreen.MainScreen.Bounds来获取屏幕的宽度/高度。当我第一次以横向模式启动应用程序时,宽度返回768,高度返回1024(即纵向)。一旦我旋转设备一次,一切都很好

有人为此找工作吗?我注意到,如果我添加一个UIScrollView作为我的控制器的主视图,它可以通过IOS正确调整大小,因此信息似乎就在那里,这是monotouch的一个bug吗


这发生在模拟器和设备(iPad)上。

据我所知,当应用程序启动时,iOS假定设备处于纵向模式,因此它报告的起始边界为768 x 1024。如果在应用程序启动时将设备保持在横向模式,iOS将以纵向模式启动,然后在视图控制器允许的情况下执行横向模式旋转。这发生在视图控制器的视图出现在屏幕上之前。结果是,在用户看来,应用程序是在横向模式下启动的,但实际上它是在纵向模式下启动的,并在后台立即旋转到横向模式。我想如果你在旋转代码中加入“Console.WriteLine(UIScreen.MainScreen.Bounds)”,你就会看到这种情况。同样奇怪的事情也发生在UIScreen.MainScreen.ApplicationFrame上