我可以将2个nib文件连接到同一个.h& .M?

时间:2011-12-11 03:10:13

标签: iphone objective-c ios xcode ipad

我正在尝试创建一个通用应用程序,所以我想知道我是否可以将两个nib文件(1个用于iPad,另一个用于iphone)连接到相同的.h和.m文件?

我有3个文件TestView.h TestView.m和TestView.xib ....如何将TestView_iPad.xib连接到同一个TestView.h和TestView.m?

我是Xcode的新手,我现在正在使用Xcode 4

预先

thanx:)

1 个答案:

答案 0 :(得分:1)

简短回答:是的。

如果您遵循模型/视图/控制器样式,则可以在iPad笔尖和iPhone笔尖(或故事板)中重复使用相同的View和Viewcontroller(.h和.m)文件。但是,有时您需要使用以下类型的代码:

BOOL iPad = (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad);

if (iPad) {
  .... iPad specific code like SplitViewController
} else {
  .... iPhone / iPod Touch specific code
}

您可能还需要检查您所在的视图控制器是否在屏幕上(如在iPad上可以在屏幕上显示多个ViewController),在这种情况下使用:

if (self.view.window) {
  .... ViewController onscreen so do something otherwise do nothing
}

也不要硬编码设备屏幕的边界。使用以下命令查找屏幕尺寸(以磅为单位):

CGRect screenBounds = [[UIScreen mainScreen] bounds];

希望这有帮助。