UIScreen.MainScreen.Bounds.Height和UIScreen.MainScreen.Bounds.Width都是0

时间:2014-10-13 14:22:23

标签: c# ios xamarin.ios xamarin

我最近做了并更新到我的Xamarin iOS项目,我用它来调用以下代码来检索屏幕宽度和高度:

if (orientation == UIInterfaceOrientation.LandscapeLeft || orientation == UIInterfaceOrientation.LandscapeRight)
    return new RectangleF(UIScreen.MainScreen.Bounds.X, UIScreen.MainScreen.Bounds.Y, UIScreen.MainScreen.Bounds.Height, UIScreen.MainScreen.Bounds.Width);

但是现在有了更新,使用CGRect设置了边界,所以我的代码已经改为:

if (orientation == UIInterfaceOrientation.LandscapeLeft || orientation == UIInterfaceOrientation.LandscapeRight)
    return new CGRect(UIScreen.MainScreen.Bounds.X, UIScreen.MainScreen.Bounds.Y, UIScreen.MainScreen.Bounds.Height, UIScreen.MainScreen.Bounds.Width);

现在,当我尝试这样做时,高度和宽度返回0.我试图创建一个新项目并尝试相同的事情,但我遇到了同样的问题。我现在如何检索主屏幕的宽度和高度?

1 个答案:

答案 0 :(得分:2)

这看起来像是Visual Studio插件中的一个错误,之前已经报告过:http://forums.xamarin.com/discussion/comment/80994/#Comment_80994

解决方法是在此期间使用Xamarin Studio(在Mac上)。

如果您可以在http://bugzilla.xamarin.com向您的项目提交错误,以便我们修复错误,我们将不胜感激。