gpt4 book ai didi

iphone - 方向问题 - ipad

转载 作者:行者123 更新时间:2023-11-29 04:31:48 26 4
gpt4 key购买 nike

我的应用程序有几个 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。

我看到一些旧帖子并不真正适合这个问题,并且令人困惑或过时,因此这里的任何帮助都会很棒。

最佳答案

shouldAutorotateToInterfaceOrientation: 只是告诉 iOS 您支持特定方向。因为你想要除了 iPhone 横屏以外的所有内容,所以你应该返回

- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)orientation {
if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad) //iPad
return YES;
return UIInterfaceOrientationIsPortrait(orientation);
}

为了实际调整显示的内容,您需要使用 willRotateToInterfaceOrientation:duration:didRotateFromInterfaceOrientation: 来实际更改项目。就您而言,鉴于您只是根据您所在的方向调整一些 iVar,我认为您会使用后者。

- (void)didRotateToInterfaceOrientation:(UIInterfaceOrientation)fromOrientation
UIInterfaceOrientation des = self.interfaceOrientation;
if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad) //iPad
{
CGRect ScreenBounds = [[UIScreen mainScreen] bounds];

if (UIInterfaceOrientationIsPortrait(des))//ipad-portrait
{
ipStPosX=(ScreenBounds.size.width -360)/2;
ipStPosY=100;
}
else //ipad -landscape
{
ipStPosX=(ScreenBounds.size.height -360)/2;
ipStPosY=100;
}
}
}

关于iphone - 方向问题 - ipad,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11638917/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com