将 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的主要内容,如果未能解决你的问题,请参考以下文章
将 iPhone 应用程序转换为 iPad,然后在 iPad 中使用 splitview?