将iPad应用转换为通用或重写

时间:2012-03-20 21:50:06

标签: iphone ios ipad ios5 ios-universal-app

我知道可以将iPad应用转换为通用应用,我的问题是值得的。

所有应用程序都会显示一个初始屏幕,其中包含使用UDP广播检测到的服务器列表。一旦用户点击一个,它就会将该服务器中的页面加载到UIWebViewControl中。而已。这很简单。我已经考虑过将现有的iPad应用程序转换为通用应用程序并且不太喜欢这个过程。我主要挂断的是理解界面构建器而没有故事板的便利性,尤其是原始编码器设置它的方式。我也不确定如何让应用程序为iPhone / iPod加载不同于iPad的视图。

话虽如此,我应该转换应用程序还是只重写它?

2 个答案:

答案 0 :(得分:2)

你的通用转换应该毫不费力。您的iPad用户会很欣赏这项工作。但是肯定要转换它,除非你计划添加一些主要的UI更改,其中重写将是有益的。

通过iPhone代码轻松确定iPad代码,请使用:

#define IDIOM    UI_USER_INTERFACE_IDIOM()
#define IPAD     UIUserInterfaceIdiomPad
#define IPHONE   UIUserInterfaceIdiomPhone

关于上述IDIOM,我看到Apple在iOS 5.1中使用以下内容:

[[UIDevice currentDevice] userInterfaceIdiom]

所以你也可以使用

#define IDIOM    [[UIDevice currentDevice] userInterfaceIdiom]

实施例

- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation {
    if ( IDIOM == IPAD ) {
        /*  Device is an iPad, so let the interface rotate.  */
        return YES;
    }else{
        /*  Device is an iPhone / iPod touch, so do not allow the interface rotate.  */
        return (interfaceOrientation == UIInterfaceOrientationPortrait);
    }
    return YES;
}

答案 1 :(得分:1)

如果应用程序很小,那么从头开始。如果您认为值得这样做,您可以复制大部分旧代码。