将 iPhone 应用程序转换为 iPad

Posted

技术标签:

【中文标题】将 iPhone 应用程序转换为 iPad【英文标题】:converting iPhone App to iPad 【发布时间】:2012-07-16 21:34:31 【问题描述】:

我开始,该应用程序是一个特殊的计算器,手感和外观都很像。在 iPhone 上是使用肖像,因为它最适合。

我的问题是:

我。当我在 iPad 上运行它时,我需要使用整个 iPad 屏幕尺寸吗?我只想将所有控件的大小和宽度放大原始大小的 125%。在 iPad 上运行时,如何检查设备屏幕尺寸以及如何将计算器居中居中?目前 iPad 是CGRectMake(0,0,640,1024),但将来可能会改变。

二。我也喜欢它在 iPad 的两个方向上进行相应的调整,但在 iPhone 上只有纵向。而且我不确定如何以最有效-简单的方式做到这一点......如果你可以建议的话。

我当前的 iPhone 代码有 .xib 具有不同的控件,但我使用 -setFrame:CGRectMake(...) 在代码中,到目前为止,我在项目设置中设置了 TARGETED_DEVICE_FAMILY 以在两个设备上运行应用程序,但没有根据设备将任何 -setFrame:CGRectMake(...) 更改为动态的。

TIA

【问题讨论】:

【参考方案1】:

1) 你可以向 [UIScreen mainScreen] 询问它的边界 - 这会给你大小。

2) 你需要在你的 UIViewController 中响应旋转相关的旋转方法:

- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation

3) 您可以使用它来确定您的应用是在 iPhone 还是 iPad 上运行:

[[UIDevice currentDevice] userInterfaceIdiom]

4) 要在更大的视图中居中视图,请使用以下代码:

+ (CGRect)centeredFrameForSize:(CGSize)size inRect:(CGRect)rect

    CGRect frame;
    frame.origin.x = rintf((rect.size.width - size.width)/2) + rect.origin.x;
    frame.origin.y = rintf((rect.size.height - size.height)/2) + rect.origin.y;
    frame.size = size;

    return frame;

【讨论】:

感谢您的回复,如果可以的话,似乎基本上我需要从我的 iPhone 调整大小,然后是 iPad 纵向,然后是 iPad 横向?是否有一些技术可以让 ipad 方向自动调整我的应用程序,或者我需要为这两种情况编写代码?再次感谢 您可以使用“应该”的方法来防止旋转。但除此之外,您必须将视图设置为在笔尖(或代码)中自动调整大小,或者在视图旋转后进行。如果您在笔尖中使用适当的支柱和冲刺,您可以在两个设备上获得所有方面的自动居中。这是一个复杂的主题,因此您需要阅读更多相关信息。

以上是关于将 iPhone 应用程序转换为 iPad的主要内容,如果未能解决你的问题,请参考以下文章

如何将ipad版本的应用程序转换为iphone版本?

将 iPhone 应用程序转换为 iPad,然后在 iPad 中使用 splitview?

将 iPhone 应用程序转换为 iPad

将 iPad 应用程序转换为 iPhone 应用程序?

将 iPhone/iPad 应用程序转换为 Android [关闭]

将 iPad 应用程序转换为通用应用程序的 iOS 不显示 iPhone 的 appIcon