如何将一个xib与多个视图控制器一起使用?

Wol*_*ink 7 iphone viewcontroller ios

在我的程序中,我有一个UIViewController子类MyViewController和该视图控制器的两个子类.

我希望他们都使用相同的xib,所以我启动它们

SubClass *SC = [[SubClass alloc] initWithNibName:@"MyViewController" bundle:nil];
[self presentModalViewController:SC animated:NO];
[SC release];
Run Code Online (Sandbox Code Playgroud)

SubClass是MyViewController的子类,它是MyViewController的子类UIViewController.在MyViewController.xib,我有文件的所有者设置为MyViewController.

如果我只有两个子类,我可能只是复制xib但我计划有许多子类,都使用相同的xib.

tom*_*omk 3

您可以加载XIB任何

- (NSArray *)loadNibNamed:(NSString *)name owner:(id)owner options:(NSDictionary *)options
Run Code Online (Sandbox Code Playgroud)

班级的NSBundle。和

NSArray *arr = [[NSBundle mainBundle] loadNibNamed:@"foo" owner:nil options:nil]; 
Run Code Online (Sandbox Code Playgroud)

您可以将 a 的所有内容加载XIB到数组中。数组中项目的顺序与您在 Interface Builder 中定义的顺序相同,不包含文件所有者和第一响应者。