我有一个基于导航的应用程序有两个级别,在第二级用户选择一个选项,该选项应该导致初始化和加载正确的Nib文件(每个可用选项都有一个Nib文件)。
现在我正在基于用户选择在交换机中进行初始化。 问题是我正在进行开发时添加Nibs,现在我需要为我添加的每个Nib更新开关部分。
我想创建一个带有Nib名称的* .plist文件,并根据plist文件中的值加载Nib,我没有设法创建一个带有nsstring变量值的类。
这是我的一个尝试 - Nib名称是带有nib名称值的nsstring。
[代码]
childController = [[Nibname alloc] initWithNibName:@Nibname bundle:nil];
[/代码]
任何帮助将不胜感激
THX
答案 0 :(得分:0)
由于我们在这里讨论推送视图控制器,你可以概括你的'alloc',并使用nibname加载正确的nib。像这样:
// load info from your plist into a dictionary
NSString * path= [[NSBundle mainBundle] pathForResource:@"AllNibs" ofType:@"plist"];
NSDictionary * nibs = [NSDictionary dictionaryWithContentsOfFile:path];
// use a value to select the right nib name
NSString *selector = @"viewController1";
NSString *nibName = [nibs objectForKey:selector];
// create the view controller from the selected nib name
UIViewController *aController = [[UIViewController alloc] initWithNibName:nibName bundle:nil];
即使您已经将UIViewController子类化,它仍将从您提供的nib名称加载正确的类。