在我正在尝试开发的应用程序中,我将UINavigationController作为根控制器。我使用相当常见的代码初始化视图:
MySubclassOfViewController *vc = [[MySubclassOfViewController alloc]
initWithNibName:@"MySubclassOfViewController"
bundle:nil];
vc.title = @"A title";
[self.navigationController pushViewController:vc animated:YES];
[vc release];
在一些视图连续之后,我想加载UITabBarController。
有没有办法设计nib文件并以与上面相同的方式创建UITabBarController 的实例?
我知道我可以通过编程方式或明确声明一个插座并将其与笔尖中的控制器连接。也可以使用
NSArray *objects = [[NSBundle mainBundle]
loadNibNamed:@"MySubclassOfViewController"
owner:self
options:nil];
self = [objects objectAtIndex:0];
[objects release];
但是,如果没有额外的工作,我可以做到吗?打字?
答案 0 :(得分:1)
我自己解决了我的问题。经过一些研究,我得出了这些结论。
UITabBarController *tbc = [[UITabBarController alloc] initWithNib...
)控制器应该有一个额外的插座,或者控制器应该明确地alloc
/ init
'ed(但不是initWithNibName
),或者可以使用loadNibNamed
进行实例化。 就是这样。这样做的原因是标签栏控制器没有声明连接到子视图控制器的插座。 (有关加载笔尖的更多详细信息,请检查Development Chaos Theory blog)。对此有何评论? :)功能