【发布时间】:2012-07-24 20:37:35
【问题描述】:
我的应用程序有几个 uiViews 并设置为支持两种方向。因为我的 uiViews 框架只是 iPad 整个尺寸的一部分,所以我试图根据 iPad 的固定方式来使我的 uiviews 框架居中。在 view controller.m 文件中以这种方式完成:
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
{
UIInterfaceOrientation des=self.interfaceOrientation;
if(UI_USER_INTERFACE_IDIOM()==UIUserInterfaceIdiomPad) //iPad
{
CGRect ScreenBounds = [[UIScreen mainScreen] bounds];
if(des==UIInterfaceOrientationPortrait||des==UIInterfaceOrientationPortraitUpsideDown)//ipad-portrait
{
ipStPosX=(ScreenBounds.size.width -360)/2;
ipStPosY=100;
return YES;
}
else//ipad -landscape
{
ipStPosX=(ScreenBounds.size.height -360)/2;
ipStPosY=100;
return YES;
}
}
else//iphone
{
UIInterfaceOrientation des=self.interfaceOrientation;
if(des==UIInterfaceOrientationPortrait||des==UIInterfaceOrientationPortraitUpsideDown) //iphone portrait
{
return NO;
}
else //iphone -landscape
{
return YES;
}
}
}
在启动应用程序并更改方向后,无论我如何握住设备,它都会始终转到纵向部分 UIInterfaceOrientationPortrait。
我看到一些旧帖子并不真正适合这个问题并且令人困惑或过时,所以这里的任何帮助都会很棒。
【问题讨论】:
标签: iphone objective-c ios xcode ipad