如何在单独的类中创建通用Iphone / Ipad应用程序?

时间:2012-05-03 02:24:26

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

我正在为Iphone和Ipad创建通用应用程序。但我不需要为Iphone和Ipad提供相同的课程。我需要为每个Iphone和Ipad分别设置一个类。谁能给我一个想法怎么做?我已经使用Xcode 4创建了我的应用程序。但是当我在那里创建一个新项目时,它会为两个设备生成一个类文件和Nib。为了我的目的,我不需要这样做。

EX:我需要这两种设备的类文件

IphoneviewController.h
IPhoneviewController.m

IPadviewController.h
IPadviewController.m

one Xib

UniversalviewController.xib

感谢并寻找快速回复。

2 个答案:

答案 0 :(得分:0)

BOOL isIPhone = (UI_USER_INTERFACE_IDIOM() != UIUserInterfaceIdiomPad);

判断它然后使用你的单独类来显示不同的视图

添加:

抱歉,我不使用任何xib | nib来构建我的应用程序,我使用纯代码 但我认为你不能使用一个带有2个viewcontroller的xib

为每个viewcontroller创建2个xib或将代码组合到一个viewcontroller中 像上面的代码

答案 1 :(得分:0)

如何在applicationDidFinishLaunch中执行以下操作:

UIViewController * viewController;
if (UI_USER_INTERFACE_IDIOM() != UIUserInterfaceIdiomPad) {
  viewController = [[IphoneviewController alloc] initWithNib: "UniversalviewController"];
} else {
  viewController = [[IPadviewController alloc] initWithNib: "UniversalviewController"];
}
//now use your VC however it is appropriate for your app, such as...
self.window.rootViewController = viewController;
[self.window makeKeyAndVisible];

顺便说一句,关于MVC讨论,假设您需要两个不同的viewControllers用于这两个平台,您可以通过创建一个包含几乎所有内容的共享类来共享公共代码,将其导入每个,然后仅实现或覆盖ipad特定版本中需要特定于iPad的任何内容。

以下是您的IPadviewController的.h ...

#import "viewController_Shared.h"

@interface IPadviewController : viewController_Shared {

}