上一篇是写了 UINavigationController的特性。这篇记一下两种方式生成的不同。
1.IB实现。 IB实现等于多出一个类来专门做UINavigationController的初始化,相对于代码实现,没什么具体的差别。 创建一个UIViewController的IB,包含一个 NavigationController。
在类中建立 IBOutlet UINavigationController *navi; 然后将IB中的NavigationController和类中的navi连线。建立关系。然后在NavigationController中的指定第一个view是哪个。
最后在类的viewDidLoad方法中 [self.view addSubview:navi.view];。
在调用时,即loginview中,直接alloc类,然后[[self.view window]addSubview:v.view];
2.代码实现: 不需要特定的类,直接在loginview中
view1 *v1 = [[view1 alloc]initWithNibName:@"view1" bundle:nil];
NoxibWorkviewer *v = [[NoxibWorkviewer alloc]initWithRootViewController:v1];
[self.view addSubview:v.view];
所以本质上来说 代码实现和IB实现 就是 初始化的几句话单独拉了出去。
1.IB实现。 IB实现等于多出一个类来专门做UINavigationController的初始化,相对于代码实现,没什么具体的差别。 创建一个UIViewController的IB,包含一个 NavigationController。
在类中建立 IBOutlet UINavigationController *navi; 然后将IB中的NavigationController和类中的navi连线。建立关系。然后在NavigationController中的指定第一个view是哪个。
最后在类的viewDidLoad方法中 [self.view addSubview:navi.view];。
在调用时,即loginview中,直接alloc类,然后[[self.view window]addSubview:v.view];
2.代码实现: 不需要特定的类,直接在loginview中
view1 *v1 = [[view1 alloc]initWithNibName:@"view1" bundle:nil];
NoxibWorkviewer *v = [[NoxibWorkviewer alloc]initWithRootViewController:v1];
[self.view addSubview:v.view];
所以本质上来说 代码实现和IB实现 就是 初始化的几句话单独拉了出去。
本文对比了使用Interface Builder (IB) 和纯代码两种方式来实现UINavigationController的过程。IB方式需要额外创建一个类来管理导航控制器的初始化过程,而代码方式则更为简洁,直接在视图控制器中完成初始化。
926

被折叠的 条评论
为什么被折叠?



