我正在为Iphone和Ipad创建通用应用程序。但我不需要为Iphone和Ipad提供相同的课程。我需要为每个Iphone和Ipad分别设置一个类。谁能给我一个想法怎么做?我已经使用Xcode 4创建了我的应用程序。但是当我在那里创建一个新项目时,它会为两个设备生成一个类文件和Nib。为了我的目的,我不需要这样做。
EX:我需要这两种设备的类文件
IphoneviewController.h
IPhoneviewController.m
IPadviewController.h
IPadviewController.m
one Xib
UniversalviewController.xib
感谢并寻找快速回复。
答案 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 {
}