在mViewController.xib.cs
课程中,我需要在任何时间确定屏幕高度/宽度。所以我压倒了以下内容。我有调试器进入这些方法,奇怪的是,无论iPad处于哪个旋转状态,它都显示我的高度为1024,宽度为768,实际上它应该互换取决于iPad的方向(纵向)或景观)。有人可以告诉我我做错了吗?
public override bool ShouldAutorotateToInterfaceOrientation (UIInterfaceOrientation toInterfaceOrientation)
{
RectangleF screeninfo = UIScreen.MainScreen.Bounds;
float height = screeninfo.Height;
float width = screeninfo.Width;
return true;
}
public override void DidRotate( UIInterfaceOrientation fromInterfaceOrientation)
{
RectangleF screeninfo = UIScreen.MainScreen.Bounds;
float height = screeninfo.Height;
float width = screeninfo.Width;
}
答案 0 :(得分:0)
这不是Monotouch故障或您的错误;所有iOS设备都是如此。甚至在Xcode中这样做:
NSLog(@"%@",NSStringFromCGRect([[UIScreen mainScreen] bounds]));
的产率:
{{0, 0}, {768, 1024}}
无论设备方向如何。只需检查当前的设备方向,如果是横向切换尺寸。我不熟悉Monotouch或C#,但在Obj-C中我们有[[UIDevice currentDevice] orientation]
我假设关键字相似。
请注意:iPhone screens.
也是如此