我UITableViewCells
在 nib 文件中创建了一些自定义,并希望在多个UIViewControllers
.
谁能告诉我做到这一点的最佳做法?我在加载 nib 方面的有限知识似乎表明您必须在 Interface Builder 中指定一个所有者类。
谢谢。
我UITableViewCells
在 nib 文件中创建了一些自定义,并希望在多个UIViewControllers
.
谁能告诉我做到这一点的最佳做法?我在加载 nib 方面的有限知识似乎表明您必须在 Interface Builder 中指定一个所有者类。
谢谢。
去做就对了; 没有真正的障碍。至于 File's Owner 类,只要你在 nib 中绑定的键存在于你想使用 nib 的任何对象中,就可以了。
您可以通过编程方式实例化一个UIViewController
类,initWithNibName:bundle:
并为多个控制器指定相同的 nib。例如,我现在正在构建一个游戏,它有一个GameController
定义基本游戏逻辑的类。有一个在自定义初始化程序中加载的GameController
关联文件:GameController.xib
- (id)initWithOptions:(NSDictionary *)gameOptions
{
if (self = [super initWithNibName:@"GameController" bundle:nil])
{
// code here
}
return self;
}
我有几种不同的游戏类型:点对点、本地和在线。游戏逻辑相同,但通信实现略有不同,因此每个都是GameController
. 根据应用程序的使用方式,它将实例化一个不同的控制器:
local = [[LocalGameController alloc] initWithOptions:options];
online = [[OnlineGameController alloc] initWithOptions:options];
你可以看到,因为这两个都 extend ,所以这两个都将作为它的视图GameController
被初始化。GameController.xib
在这种情况下,GameController
将是您的单一文件所有者。